react实现RSA加密解密、DES加密
程序员文章站
2024-03-14 13:42:10
...
前端实现RSA加密解密、DES解密,主要用到的包有jsencrypt、crypto-js
一、使用场景
- 需要在本地存储一些标志位,安全问题
- 用户登录密码的加密
二、加密代码
RSA加密
安装
npm install jsencrypt
在线生成一对RSA公钥和私钥
import JSEncrypt from 'jsencrypt';
const PRIV_KEY = `
-----BEGIN PRIVATE KEY-----
私钥内容
-----END PRIVATE KEY-----`;
const PUB_KEY = `
-----BEGIN PUBLIC KEY-----
公钥内容
-----END PUBLIC KEY-----`;
// 公钥加密
function encrypt(text) {
const encrypt = new JSEncrypt();
encrypt.setPublicKey(PUB_KEY);
const encrypted = encrypt.encrypt(text);
return encrypted;
}
// 私钥解密
function decrypt(text) {
const decrypt = new JSEncrypt();
decrypt.setPrivateKey(PRIV_KEY);
const decrypted = decrypt.decrypt(text);
return decrypted;
}
查看加密数据是否准确
如果想要在代码之外,查看是否加密准确,可在线解密对比结果
解密网址:http://www.bejson.com/enc/rsa/
DES加密
安装
npm install crypto-js
加密代码
前端加密,后端解密
import CryptoJS from 'crypto-js';
const text =
CryptoJS.DES.encrypt("待加密文本", CryptoJS.enc.Utf8.parse('约定加**'), {
mode: CryptoJS.mode.ECB,
}).toString();