Vue项目中对登陆密码使用crypto-js进行Aes加密

Posted 1024_Byte

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue项目中对登陆密码使用crypto-js进行Aes加密相关的知识,希望对你有一定的参考价值。

安装

npm i crypto-js

在utils下创建secret.js文件


import CryptoJS from 'crypto-js'

// 十六进制密钥
const CRYPTOJSKEY = CryptoJS.enc.Utf8.parse('HTKJhtkjHTkj1234')

 // 加密
 function encrypt(plaintText) 
  var plaintTexts = plaintText
  var options = 
     mode: CryptoJS.mode.ECB,
     padding: CryptoJS.pad.Pkcs7
   
   var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY)
   var encryptedData = CryptoJS.AES.encrypt(plaintTexts, key, options)
   var encryptedBase64Str = encryptedData.toString().replace(/\\//g, '_')
   encryptedBase64Str = encryptedBase64Str.replace(/\\+/g, '-')
   return encryptedBase64Str
 
 // 解密
 function decrypt(encryptedBase64Str) 
   var vals = encryptedBase64Str.replace(/\\-/g, '+').replace(/_/g, '/')
   var options = 
     mode: CryptoJS.mode.ECB,
     padding: CryptoJS.pad.Pkcs7
   
   var key = CryptoJS.enc.Utf8.parse(CRYPTOJSKEY)
   var decryptedData = CryptoJS.AES.decrypt(vals, key, options)
   var decryptedStr = CryptoJS.enc.Utf8.stringify(decryptedData)
   return decryptedStr
 

export default 
  Encrypt,
  Decrypt


项目中引入

import untilSecret from '@/_utils/secret.js'

在登录接口前传参即可

param.password = untilSecret.Encrypt(this.form.password)

以上是关于Vue项目中对登陆密码使用crypto-js进行Aes加密的主要内容,如果未能解决你的问题,请参考以下文章

登录加密

vue中使用cookies和crypto-js实现记住密码和加密

关于 vue中使用crypto-js,进行DES 的加密解密

vue中如何使用crypto-js,进行3DES的加密解密(实践好用)

vue项目中对axios的二次封装

vue+typescript如何使用crypto-js