
下载开源RSA密钥生成工具OpenSSL(通常Linux系统有自己的程序),解压缩到单独的文件夹,输入bin目录,执行以下命令:
复制代码代码如下所示:
OpenSSL的key //生成了rsa_private_key.pem 1024
OpenSSL pkcs8 - topk8通知PEM在rsa_private_key.pem - outform PEM nocrypt出private_key.pem
OpenSSL的RSA在rsa_private_key.pem - pubout出rsa_public_key.pem
第一个命令生成原始的RSA私钥文件rsa_private_key.pem,第二命令将原来的RSA私钥pkcs8格式,和第三生成RSA公钥rsa_public_key.pem。
从上面,我们可以看到相应的公共密钥可以生成的私钥,所以我们用私钥private_key.pem在服务器端和Android和iOS前端的公钥。
2,PHP通过生成的公钥和私钥进行加密和解密,直接在代码上进行加密。
复制代码代码如下所示:
$ FP = fopen(RSA / rsa_private_key PEM 。
private_key美元= fread($ FP,8192);
Fclose($ FP);
FP1 = fopen(美元RSA / rsa_public_key PEM 。
public_key美元= fread($ fp18192);
Fclose($ FP1);
/ /回声private_key美元;
pi_key = openssl_pkey_get_private美元(美元private_key); / /这个函数可用于确定是否私有密钥,身份资源ID返回可用的资源
pu_key = openssl_pkey_get_public美元(美元public_key); / /这个函数可以用来判断公钥是可用的。
print_r($ pi_key);回声;;;
print_r($ pu_key);回声;;;
;
$data = 'php RAS加密算法;
=加密的$ ;
= $解密;
加密的源数据。;;
私钥加密:;;
openssl_private_encrypt(美元美元美元数据加密,pi_key); / /私有密钥加密
美元($加密)加密= base64_encode; / /加密的内容通常包含特殊字符编码转换,通过在网络中传输的URL应该注意是否Base64编码是URL的安全
回声'私钥加密:' $加密。;;;;
公钥解密:;;
openssl_public_decrypt(base64_decode(加密,解密美元)美元,美元pu_key); / /私有密钥加密的内容可以通过公钥解密
回声'公开密钥解密:' $解密。;;
;
公钥加密:;;
openssl_public_encrypt(美元美元美元数据加密,pu_key); / /公共密钥加密
美元($加密)加密= base64_encode;
回声$加密,;;
私钥解密:;;
openssl_private_decrypt(base64_decode(加密,解密美元)美元,美元pi_key); / /私有密钥
回声$解密,;;
PHP RSA配置中的常见问题:
PHP开发语言代码示例中的OpenSSL文件夹中的3 DLL文件使用
1。如果你的系统是Windows系统,并没有ssleay32.dll libeay32.dll,system32目录下的文件,在两个文件
然后你需要复制文件到system32目录下文件的两。
2。如果你没有php_openssl.dll在你的PHP安装目录(PHP EXT)
所以请把此文件夹中的php_openssl.dll
喜欢加密和解密的小伙伴必须好好看看这篇文章,并获益匪浅。