ApiSign.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Http\helper;
  3. class ApiSign
  4. {
  5. static $serectKey = 'd03cb659cbf9192dcd066272249f8412';
  6. // 签名
  7. public static function sign($data)
  8. {
  9. self::$serectKey=env('API_SIGN',self::$serectKey);
  10. foreach ($data as $key => &$value) {
  11. if (empty($value) && $value !== '0') {
  12. unset($data[$key]);
  13. }
  14. }
  15. unset($value);
  16. if (!is_array($data)) {
  17. return false;
  18. }
  19. ksort($data);
  20. $sign_str = '';
  21. foreach ($data as $k => $v) {
  22. $sign_str .= $k . '=' . $v . '&';
  23. }
  24. $sign_str .= 'key=' . self::$serectKey;
  25. $sign = md5($sign_str);
  26. return $sign;
  27. }
  28. public static function newSign($data)
  29. {
  30. self::$serectKey=env('API_SIGN',self::$serectKey);
  31. foreach ($data as $key => &$value) {
  32. if ($key == 'userName' || $key == 'userEmail' || $key == 'userPhone' || $key == 'rand_str') {
  33. unset($data[$key]);
  34. }
  35. if (empty($value) && $value !== '0') {
  36. unset($data[$key]);
  37. }
  38. }
  39. unset($value);
  40. if (!is_array($data)) {
  41. return false;
  42. }
  43. ksort($data);
  44. $sign_str = '';
  45. foreach ($data as $k => $v) {
  46. $sign_str .= $k . '=' . $v . '&';
  47. }
  48. $sign_str .= 'key=' . self::$serectKey;
  49. $sign = md5($sign_str);
  50. return $sign;
  51. }
  52. }