crypto-js 加密

2020-08-30  本文已影响0人  BlinglingSam

项目中,为了安全性考虑,登录时会对账号密码进行加密,一般会通过MD5AES进行加密,本文将介绍crypto-js,也就是AES方式在vue项目中加密的用法。

安装

npm install crypto-js
yarn add crypto-js

加密、解密方法封装

// 1、 引入crypto-js
let CryptoJS = require('crypto-js') // 或者import CryptoJS from 'crypto-js'

// 2、Crypto加密方法封装
  const aesUtil = {
    // 加密函數
    encrypt: (word, keyStr) => {
      if (word instanceof Object) {
        //JSON.stringify
        word = JSON.stringify(word)
      }
      var key = CryptoJS.enc.Utf8.parse(keyStr)
      var encryptedObj = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(word), key, 
        {
          mode: CryptoJS.mode.ECB,
          padding: CryptoJS.pad.Pkcs7,
        },
      )
      return encryptedObj.toString()
    },
    // 解密函數
    decrypt: (word, keyStr) => {
      let key = CryptoJS.enc.Utf8.parse(keyStr)
      let decrypt = CryptoJS.AES.decrypt(word, key,
        {
          mode:CryptoJS.mode.ECB,
          padding:CryptoJS.pad.ZeroPadding,
        },
      )
      let decString = CryptoJS.enc.Utf8.stringify(decrypt).toString();
      return decString
    },
  }

方法调用

let key = "MIGfMA0GCSqGSIb3" // 可以自定义
let text = aesUtil.encrypt(userName, key)
上一篇 下一篇

猜你喜欢

热点阅读