7.1的发布文档上面 写了以后不建义使用类似mcrypt的扩展 可以使用openssl拓展进行加密解密操作
用 OpenSSL, Linux 上自带,常用命令如下:
– 生成 RSA 私钥(传统格式的)
openssl genrsa -out rsa_private_key.pem 1024
– 将传统格式的私钥转换成 PKCS#8 格式的(JAVA需要使用的私钥需要经过PKCS#8编码,PHP程序不需要,可以直接略过)
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
– 生成 RSA 公钥
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
以下示例代码
AES:
1 | <?php |
RSA:
用openssl生成rsa密钥对(私钥/公钥):
openssl genrsa -out rsa_private_key.pem 1024
openssl rsa -pubout -in rsa_private_key.pem -out rsa_public_key.pem
1 | <?php |
秘钥可以用 openssl rsa -inform PEM -modulus -noout < private_key.pem 得出详细数据
rsa总共用到的数据
p
q
n(module)
φ(n)
e
d
说明
PEM RSAParameter
Modulus modulus
Exponent Exponent
prime1 P
exponent1 Q
prime2 DP
exponent2 DQ
coefficient InverseQ
privateExponent D
页面上行js rsa加密可以用 http://www.ohdave.com/rsa/index.php 这个
n为 openssl rsa -pubin -inform PEM -modulus -noout < public_key.pem
e为 openssl rsa -pubin -inform PEM -text -noout < public_key.pem