美文网首页
crypto-js 加密

crypto-js 加密

作者: BlinglingSam | 来源:发表于2020-08-30 20:23 被阅读0次

项目中,为了安全性考虑,登录时会对账号密码进行加密,一般会通过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)

相关文章

网友评论

      本文标题:crypto-js 加密

      本文链接:https://www.haomeiwen.com/subject/nngesktx.html