当前位置: 首页 » PHP » PHP利用RSA加密解密

PHP利用RSA加密解密

RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

 

密钥和公钥
开始前需要准备openssl环境
linux 需要安装openssl工具包,下载地址:http://www.openssl.org/source/
window 下需要安装openssl的程序,下载地址:http://slproweb.com/products/Win32OpenSSL.html

 

密钥生成
openssl genrsa 用于生成rsa私钥文件,生成是可以指定私钥长度和密码保护,具体参数请参考文档。

-out 指定生成的密钥的文件名,可以随意定义,但是最好为意义的名字,在此生成的密钥文件为 rsa_private_key.pem
在此生成一个1024长度的密钥,密钥长度越长越安全,但加解密所耗时间亦变长。

 

公钥生成
Rsa命令用于处理RSA密钥、格式转换和打印信息

其中
-in filename:输入的RSA密钥文件,在此为上面生成的密钥 rsa_private_key.pem。
-pubout:设置此选项后,保存公钥值到输出文件中。
-out filename:输出文件,在此我们定义成rsa_public_key.pem

 

PHP用RSA加解密
开始前需要准备php openssl环境,开启PHP openssl扩展,window将php的配置文件php.ini中的
开启php_openssl.dll
extension=php_openssl.dll

 

下面代码演示:

 

 

 

 

请尊重我们的辛苦付出,未经允许,请不要转载 本站 的文章,鄙视各种无耻的采集行为!