支付宝开发(一)-认识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);

 

posted @ 2015-04-18 23:13  yo胡yo  阅读(632)  评论(0编辑  收藏  举报