加密工具CryptoJS

2019-11-28  本文已影响0人  萘小蒽
  1. 下载 CryptoJS
npm install crypto-js --save-dev
  1. 创建encrypt.js 引入,KP建议让后端传。
//encrypt.js
/**
* 通过crypto-js实现 加解密工具
* AES
* @author: wfk
*/
import CryptoJS from 'crypto-js'
const KP = {
  key: '32824659', // 秘钥 16*n:
  iv: '1234567812345678'  // 偏移量
};
function getAesString(data, key, iv) { // 加密
    key = CryptoJS.enc.Utf8.parse(key);
    iv = CryptoJS.enc.Utf8.parse(iv);
    let encrypted = CryptoJS.DES.encrypt(data, key,
        {
            // iv,
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
        });
    return encrypted.toString();    // 返回的是base64格式的密文
}
function getDAesString(encrypted, key, iv) { // 解密
    key = CryptoJS.enc.Utf8.parse(key);
    iv = CryptoJS.enc.Utf8.parse(iv);
    let decrypted = CryptoJS.DES.decrypt(encrypted, key,
        {
            // iv,
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
        });
    return decrypted.toString(CryptoJS.enc.Utf8);      //
}
// AES 对称秘钥加密
const aes = {
  en: (data) => getAesString(data, KP.key, KP.iv),
  de: (data) => getDAesString(data, KP.key, KP.iv)
};
// BASE64
const base64 = {
    en: (data) => CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(data)),
    de: (data) => CryptoJS.enc.Base64.parse(data).toString(CryptoJS.enc.Utf8)
};
// SHA256
const sha256 = (data) => {
    return CryptoJS.SHA256(data).toString();
};
// MD5
const md5 = (data) => {
  return CryptoJS.MD5(data).toString();
};
export {
  aes,
  md5,
  sha256,
  base64
};

3. 引入 以及使用

import { aes } from '@/util/encrypt.js';
****
let password = aes.en('12345678'); //3iy6ZPcjJQzOBGxvlgwRDg==
上一篇下一篇

猜你喜欢

热点阅读