700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > rsa生成公私钥php php中rsa生成公私钥和加解密

rsa生成公私钥php php中rsa生成公私钥和加解密

时间:2022-01-26 22:44:44

相关推荐

rsa生成公私钥php php中rsa生成公私钥和加解密

php中rsa生成公私钥和加解密

注意:php使用RSA时需要开启openssl扩展

生成公私钥

//创建公私钥

$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加解密

这里把上面获取的公私钥分别保存到变量 $public_key,$private_key

公钥加密,私钥解密

/**

* 公钥加密

*/

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

结果和公钥加密,私钥解密差不多,这里就不截图了

使用场景

私钥加密,公钥解密: 用于签名

公钥加密,私钥解密: 用于加解密

原文:/trblog/p/13149931.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。