用详细的解决方案对RSA加密解密

用详细的解决方案对RSA加密解密
1。加密和解密的第一步是生成公钥和私钥对,私钥的加密内容可以由公钥(依次)解密。
下载开源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

喜欢加密和解密的小伙伴必须好好看看这篇文章,并获益匪浅。

tag:加密解密解决方案详细电脑软件RSA

相关内容