PHP-PSA加密解密-公钥私钥创建

linux创建公钥私钥

生成私钥文件: openssl genrsa-outrsa_private_key.pem1024    //512 1024 2048

利用私钥,生成公钥:openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

php创建公钥私钥

$config= array(

  //"digest_alg" => "sha512",

  "private_key_bits"=> 512,           //字节数  512 1024 2048  4096 等

  "private_key_type"=> OPENSSL_KEYTYPE_RSA,   //加密类型

);

//1.创建公钥和私钥  返回资源

$res= openssl_pkey_new($config);

//从得到的资源中获取私钥  并把私钥赋给$privKey

openssl_pkey_export($res, $privKey);

//从得到的资源中获取私钥  并把私钥赋给$pubKey

$pubKey= openssl_pkey_get_details($res);

$pubKey= $pubKey["key"];

var_dump(array('privKey'=>$privKey,'pubKey'=>$pubKey));

die;

psa加密解密

加密解密数据 要加密的数据

$data= '123123123';            

//对$data进行加密 要加密的数据字符串 得到加密后的数据 加密所需要的公钥

openssl_public_encrypt($data, $encrypted, $pubKey);//需要加密的数据,加密后的数据,加密秘钥

echo base64_encode($encrypted);

//对加密后的数据进行解密 解密的数据 得到解密后的数据 解密所需要的私钥

$decrypted= base64_decode($encrypted);

openssl_private_decrypt($encrypted, $decrypted, $privKey);//需要解密的数据,解密后的数据,解密秘钥

echo $decrypted; 

备注:

openssl_private_encrypt    //私钥加密

openssl_public_decrypt    //公钥解密

openssl_public_encrypt    //公钥加密

openssl_private_decrypt    //私钥解密

openssl_pkey_get_public //检查公钥是否可用

openssl_pkey_get_private //检查私钥是否可用

生成公钥私钥网址 http://web.chacuo.net/netrsakeypair

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容