Kuaishou.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace app\api\controller;
  3. class Kuaishou
  4. {
  5. // md5 签名
  6. public static function md5Sign($param,$signSecret)
  7. {
  8. $param = [
  9. 'appkey'=> '',
  10. 'timestamp'=> '',
  11. 'access_token'=> '',
  12. 'version'=> 1,
  13. 'param'=> json_encode(['user_id'=>1,'order_num'=>'123456']),
  14. 'method' => 'MD5',
  15. ];
  16. $paramStr = '';
  17. ksort($param);
  18. foreach ($param as $kk=>$vv) {
  19. if($vv != null && 'null' != $vv)
  20. {
  21. $paramStr .=$kk.'='.$vv.'&';
  22. }
  23. }
  24. $unSignParaString = '';
  25. if(strlen($paramStr)> 0) $unSignParaString = substr($paramStr,0,strlen($paramStr) - 1);
  26. return md5($unSignParaString.'&signSecret='.$signSecret);
  27. }
  28. // 2.HMAC_SHA256(官方推荐)
  29. public static function HMAC_SHA256Sign($param,$signSecret){
  30. $paramStr = "";
  31. ksort($param);
  32. foreach ($param as $kk=>$vv){
  33. if (null != $vv && "null" != $vv) {
  34. $paramStr .= $kk . "=" . $vv . "&";
  35. }
  36. }
  37. $unSignParaString = '';
  38. if (strlen($paramStr) > 0) {
  39. $unSignParaString = substr($paramStr, 0, strlen($paramStr) - 1);
  40. }
  41. $unSignParaString = $unSignParaString."&signSecret=" . $signSecret;
  42. $signStr = base64_encode(
  43. hash_hmac(
  44. 'sha256',
  45. $unSignParaString,
  46. $signSecret,
  47. true
  48. )
  49. );
  50. return $signStr;
  51. }
  52. }