怎么在php中利用rsa进行加密解密

  介绍

本篇文章为大家展示了怎么在php中利用rsa进行加密解密,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1, <强>加密解密的第一步是生成公钥,私钥对,私钥加密的内容能通过公钥解密(反过来亦可以)

下载开源rsa密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的本目录,执行以下命令:

openssl  genrsa  -out  rsa_private_key.pem  1024   openssl  pkcs8  -topk8  -inform  PEM 拷贝;rsa_private_key.pem  -outform  PEM  -nocrypt  -out  private_key.pem   openssl  rsa 拷贝;rsa_private_key.pem  -pubout  -out  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",“r");,//你的私钥文件路径   $ private_key=从文件中读(fp 8192美元);   文件关闭(fp);   $ fp1=fopen (“rsa/rsa_public_key.pem",“r");,//你的公钥文件路径   $ public_key=从文件中读(fp1 8192美元);   文件关闭(fp1美元);//echo  private_key;美元,   (pi_key=openssl_pkey_get_private美元private_key);//这个函数可用来判断私钥是否是可用的,可用返回资源id  Resource  id    (pu_key=openssl_pkey_get_public美元public_key );//这个函数可用来判断公钥是否是可用的   print_r (pi_key美元);echo “\ n", echo “& lt; br>“;   print_r (pu_key美元);echo “\ n", echo “& lt; br>“;   echo “& lt; hr>“;   $ data=https://www.yisu.com/zixun/' php ras加密算法”;   加密美元=" ";   解密美元=" ";   回声”加密的源数据:“$ data。“/n”;回声“
”;   回声“私钥加密:/n”;回声“
”;   openssl_private_encrypt(数据,加密,美元pi_key美元);//私钥加密   加密(加密=base64_encode美元);//加密后的内容通常含有特殊字符,需要编码转换下,在网络间通过url传输时要注意base64编码是否是url安全的   回声的私钥加密后:“加密美元。“/n”;回声“
”,与“
”;   回声“公钥解密:/n”;回声“
”;   openssl_public_decrypt (base64_decode(加密)美元,美元解密,pu_key美元);//私钥加密的内容通过公钥可用解密出来   回声的公钥解密后:“解密美元。“/n”;回声“
”;   回声“<人力资源>”;   回声“公钥加密:/n”;回声“
”;   openssl_public_encrypt(数据,加密,美元pu_key美元);//公钥加密   加密(加密=base64_encode美元);   echo $加密,“/n”;回声“
”;   回声“私钥解密:/n”;回声“
”;   openssl_private_decrypt (base64_decode(加密)美元,美元解密,pi_key美元);//私钥解密   echo $解密,“/n”;回声“
”;

<强> PHP的RSA配置常见问题:

●PHP开发语言的代码示例中openssl文件夹中3个DLL的文件用法

1,如果你的系统是windows系统,且system32系统文件目录下没有libeay32.dll, ssleay32.dll这两个文件
那么需要拷贝这两个文件到system32系统文件目录。

2,如果您的PHP安装目录下(PHP \ ext)中没有php_openssl.dll

那么请把php_openssl。dll放在这个文件夹中

上述内容就是怎么在php中利用rsa进行加密解密,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

怎么在php中利用rsa进行加密解密