JSEncrypt是一个基于JavaScript实现的轻量级RSA加密库,专为前端环境设计,用于在浏览器端完成非对称加密操作。
// 导入 JSEncrypt 模块
import JSEncrypt from 'jsencrypt';
// 创建 JSEncrypt 实例
const encryptor = new JSEncrypt();
// 设置公钥(用于加密)
const publicKey = `-----BEGIN PUBLIC KEY-----
你的公钥内容
-----END PUBLIC KEY-----`;
encryptor.setPublicKey(publicKey);
// 加密数据
const dataToEncrypt = "Hello, World!";
const encryptedData = encryptor.encrypt(dataToEncrypt);
console.log("加密后的数据:", encryptedData);
// 设置私钥(用于解密)
const privateKey = `-----BEGIN RSA PRIVATE KEY-----
你的私钥内容
-----END RSA PRIVATE KEY-----`;
encryptor.setPrivateKey(privateKey);
// 解密数据
const decryptedData = encryptor.decrypt(encryptedData);
console.log("解密后的数据:", decryptedData);注意事项
安装模块:使用 npm install jsencrypt 安装库。
公钥与私钥:确保公钥和私钥的安全性,尤其是私钥不能暴露在前端。
加密长度限制:RSA 加密对单次加密的数据长度有限制,需根据密钥长度调整分块逻辑。
浏览器兼容性:JSEncrypt 使用纯 JavaScript 实现,兼容大多数现代浏览器。
通过以上方法,您可以轻松实现前端的数据加密与解密,保护敏感信息的安全传输。
