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