PayUtils.php 899 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace common\pay\yilai;
  3. class PayUtils
  4. {
  5. /**
  6. * @param array $data
  7. * @param string $secretKey
  8. * @return string
  9. */
  10. public static function makeSign($data, $secretKey)
  11. {
  12. if(isset($data['sign'])) {
  13. unset($data['sign']);
  14. }
  15. ksort($data);
  16. $sign_str = '';
  17. foreach($data as $k => $v) {
  18. $sign_str .= $k . '='.$v.'&';
  19. }
  20. $sign_str = strtoupper(md5( $sign_str."key=".$secretKey));
  21. return $sign_str;
  22. }
  23. /**
  24. * @param array $data 参数
  25. * @param string $secretKey
  26. * @return bool
  27. */
  28. public static function checkSign($data, $secretKey)
  29. {
  30. $sign = isset($data['sign']) ? $data['sign'] : null;
  31. if ($sign == null) {
  32. return false;
  33. }
  34. return self::makeSign($data, $secretKey) === $sign;
  35. }
  36. }