加密、解密

443 阅读1分钟

1. MD5、blueimp-md5、sha1\2\3(不可逆)

MD5

  • 安装
npm install --save js-md5
  • 使用

blueimp-md5

  • 安装
npm install blueimp-md5
  • 使用
import md5 from'blueimp-md5'

cryptojs(可逆)

官方资料:cryptojs.gitbook.io/docs/

  • 安装
npm install crypto-js --save-dev
  • Key密钥
import CryptoJS from 'crypto-js';
/*** CryptoJS加密*/
export function getAES(data){ //加密    
const key = CryptoJS.enc.Utf8.parse("12345678900000001234567890000000");  
const iv = CryptoJS.enc.Utf8.parse("1234567890000000");   
let encrypted = '';    
const srcs = CryptoJS.enc.Utf8.parse(data);    
encrypted = CryptoJS.AES.encrypt(srcs, key, {        
    iv: iv,        
    mode: CryptoJS.mode.CBC,        
    padding: CryptoJS.pad.Pkcs7    
});    
return encrypted.ciphertext.toString();
}
  • CryptoJS解密
export function getDAes(data){//解密    
const key = CryptoJS.enc.Utf8.parse("12345678900000001234567890000000");  
const iv = CryptoJS.enc.Utf8.parse("1234567890000000");    
const encryptedHexStr = CryptoJS.enc.Hex.parse(data);    
const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);    
const decrypt = CryptoJS.AES.decrypt(srcs, key, {        
    iv: iv,        
    mode: CryptoJS.mode.CBC,        
    padding: CryptoJS.pad.Pkcs7    
});    
var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);    
return decryptedStr.toString();
}

jsencrypt进行rsa加密

  • 安装 npm不知道为何总是安装失败,所以用cnpm安装
cnpm install jsencrypt -s
  • 使用
import { JSEncrypt } from'jsencrypt'
// jsencrypt进行rsa加密
letencrypt = newJSEncrypt()
// 后台给的公钥
encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCQkga28ZAFn7hrfgYGI6+WT66YjdBvaktFy31AujDNxUSNEPY5M8ftoVrE9qu8iAde/14hCJXGYdnZcZEw3kZzp8HGPrQJaVwrdRizOrZyrXQngoA3VPdUpNLE1QK+SnO/pn0BefCfkSApdTbNHABh2qnh6DYmLKAJhEEsNk8D6QIDAQAB')
// 用户名密码加密
username = encrypt.encrypt(username.toString())
password = encrypt.encrypt(password.toString())