aes加密 什么是RSA非对称加密?
什么是RSA非对称加密?
非对称密钥——RSA算法RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥。RSA是第一个既能用于数据加密也能用于数字签名的算法。RSA算法原理如下:
1.随机选择两个大质数p和q,p不等于q,计算N=pq;
2.选择一个大于1小于N的自然数e,e必须与(p-1)(q-1)互素。
3.用公式计算出d:d×e = 1 (mod (p-1)(q-1)) 。
4.销毁p和q。最终得到的N和e就是“公钥”,d就是“私钥”,发送方使用N去加密数据,接收方只有使用d才能解开数据内容。RSA的安全性依赖于大数分解,小于1024位的N已经被证明是不安全的,而且由于RSA算法进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,这是RSA最大的缺陷,因此通常只能用于加密少量数据或者加密密钥,但RSA仍然不失为一种高强度的算法。
200 使用RSA非对称加密算法加密文件方法?
PHP中使用RSA,所用工具是openssl扩展#从pfx文件中提取私钥和证书(需要传入密码$password):openssl_pkcs12_read($file_content,$key,$password)$key["pkey"]=>私钥$key["cert"]=>证书#解析x.509证书openssl_x509_read($cert)#以pkcs7加密标准加解密/签名验签数据:需要注意pkcs7操作都需要使用一个临时文件,多进程时要考虑一下文件冲突问题,还有别忘了最后释放临时文件。openssl_pkcs7_encrypt()/openssl_pkcs7_decrypt()openssl_pkcs7_sign()/openssl_pkcs7_verify()#从字符串中获取公私钥:openssl_pkey_get_private()/openssl_pkey_get_public()#RSA以pkcs#12标准加解密/签名验签数据:openssl_private(public)_encrypt()/openssl_private(public)_decrypt()
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。