$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); } }