| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace common\pay\chuanghui;
- class PayUtils
- {
- /**
- * @param array $data
- * @return string
- */
- public static function makeSign($data, $privateKey)
- {
- $str = "";
- ksort($data);
- foreach ($data as $key => $value) {
- $str .= "{$value}";
- }
- $rsa = openssl_pkey_get_private(file_get_contents( $privateKey));
- if (empty($rsa))
- {
- echo "private key resource identifier False!";
- return False;
- }
- openssl_sign($str, $sign, $rsa,OPENSSL_ALGO_MD5);
- $sign = base64_encode($sign);
- return $sign;
- }
- /**
- * @param array $data
- * @param $pubCert
- * @return bool|int
- */
- public static function verify($data, $pubCert)
- {
- // 签名
- if (!isset($data['sign']) || trim($data['sign']) === '') {
- return false;
- }
- $sign = $data['sign'];
- unset($data['sign']);
- ksort($data);
- $temp = '';
- foreach($data as $key=>$value)
- {
- $temp .="{$value}";
- }
- $pubKey = openssl_get_publickey(file_get_contents($pubCert));
- return openssl_verify($temp, base64_decode($sign), $pubKey, OPENSSL_ALGO_MD5);
-
- }
- }
|