RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制 。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
RSA允许你选择公钥的大小。512位的密钥被视为不安全的;768位的密钥不用担心受到除了国家安全管理(NSA)外的其他事物的危害;
jsencrypt介绍
jsencrypt就是一个基于rsa加解密的js库
// 安装/* * 加密 * @param publicKey 公钥 * @param data 要加密的数据 */ encryptedData(publicKey, data) { // 新建JSEncrypt对象 const encryptor = new JSEncrypt() // 设置公钥 encryptor.setPublicKey(publicKey) // 加密数据 return encryptor.encrypt(data) },
npm install jsencrypt
// 引入import JSEncrypt from 'jsencrypt'
// 私钥
const privateKey = `xxxx`
// 解密
export function decrypt (msg) {
let decrypt = new JSEncrypt()
decrypt.setPrivateKey(privateKey)
var decryptMsg = decrypt.decrypt(msg)
return decryptMsg
}
参考:百度百科
标签:加密,decrypt,解密,RSA,密钥,js,jsencrypt,公开密钥 From: https://www.cnblogs.com/zhangxusong/p/16838201.html