欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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();