php中rsa生成公私钥和加解密
2021-02-04 02:15
标签:使用场景 exp 加解密 details src 签名 图片 保存 生成 注意:php使用RSA时需要开启openssl扩展 结果: 这里把上面获取的公私钥分别保存到变量 $public_key,$private_key 加密后结果: 解密后结果: 结果和公钥加密,私钥解密差不多,这里就不截图了 私钥加密,公钥解密: 用于签名 公钥加密,私钥解密: 用于加解密 关于使用场景这篇文章说的比较好:https://blog.csdn.net/bandaoyu/article/details/83997398 php中rsa生成公私钥和加解密 标签:使用场景 exp 加解密 details src 签名 图片 保存 生成 原文地址:https://www.cnblogs.com/trblog/p/13149931.htmlphp中rsa生成公私钥和加解密
生成公私钥
//创建公私钥
$res = openssl_pkey_new();
//获取私钥
openssl_pkey_export($res, $private_key);
//获取公钥
$public_key = openssl_pkey_get_details($res)[‘key‘];
//组合rsa
$rsa = [
‘public_key‘ => $public_key,
‘private_key‘ => $private_key,
];
echo "";
var_dump($rsa);
exit;
rsa加解密
公钥加密,私钥解密
/**
* 公钥加密
*/
$data = ‘rsa加密解密‘;
//解析公钥
$res = openssl_pkey_get_public($public_key);
//使用公钥加密数据
openssl_public_encrypt($data, $crypted, $res);
echo "";
var_dump($crypted);
exit;
/**
* 私钥解密
*/
//解析私钥
$res = openssl_pkey_get_private($private_key);
//使用私钥解密数据
openssl_private_decrypt($crypted, $decrypted, $res);
echo "";
var_dump($decrypted);
exit;
私钥加密,公钥解密
/**
* 私钥加密
*/
$data = ‘rsa加密解密‘;
//解析私钥
$res = openssl_pkey_get_private($private_key);
//使用私钥加密
openssl_private_encrypt($data, $crypted, $res);
/**
* 公钥解密
*/
//解析公钥
$res = openssl_pkey_get_public($public_key);
openssl_public_decrypt($data, $decrypted, $res);
echo "";
var_dump($decrypted);
exit;
使用场景