在vue项目中使用crypto-js进行加解密
- 下载 npm i crypto-js --save
- 新建des.js文件
- 在des.js文件中
import cryptoJS from 'crypto-js'
const key = 'abcdefg123456789'
// DES加密
export const encryptDes = message => {
const keyHex = cryptoJS.enc.Utf8.parse(key)
const options = { mode: cryptoJS.mode.ECB, padding: cryptoJS.pad.Pkcs7 }
const encrypted = cryptoJS.DES.encrypt(message, keyHex, options)
return encrypted.ciphertext.toString()
}
// DES解密
export const decryptDes = message => {
const keyHex = cryptoJS.enc.Utf8.parse(key)
const decrypted = cryptoJS.DES.decrypt(
{
ciphertext: cryptoJS.enc.Hex.parse(message)
},
keyHex,
{
mode: cryptoJS.mode.ECB,
padding: cryptoJS.pad.Pkcs7
}
)
return decrypted.toString(cryptoJS.enc.Utf8)
}
其中key是随便设置的
测试
import { decryptDes, encryptDes } from '../../utils/des'
let a = 'ceshi'
console.log(encryptDes(a), '加密后')
let b = encryptDes(a)
console.log(decryptDes(b), '解密后')
打印的结果
915d88ce5b1dbd36 加密后
ceshi 解密后