支付宝开发(一)-认识php openssl RSA 非对称加密实现
获取支付宝公钥
本地服务器生成私钥和公钥
运用php中openssl相关函数加密解密验证身份
以下是php中openssl相关函数实现的验证,来自php官方demo
//需要签名的数据 $data = 'my data'; //生成私钥和公钥 $new_key_pair = openssl_pkey_new(array( "private_key_bits" => 2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, ));
//私钥 openssl_pkey_export($new_key_pair, $private_key_pem); //公钥 $details = openssl_pkey_get_details($new_key_pair); $public_key_pem = $details['key']; //用私钥加密得到签名 openssl_sign($data, $signature, $private_key_pem, OPENSSL_ALGO_SHA256); //save for later file_put_contents('private_key.pem', $private_key_pem); file_put_contents('public_key.pem', $public_key_pem); file_put_contents('signature.dat', $signature); //用公钥和签名数据解密验证身份 $r = openssl_verify($data, $signature, $public_key_pem, "sha256WithRSAEncryption"); var_dump($r);