概念:对称加密是指前后端共同约定一个密钥,使用密钥作为钥匙来加密解密数据,由于前后端使用相同的密钥及相同的方法,所以为对称加密
DES 与 AES方法一样,只不过在代码中更改一下关键字,详细看代码
1、安装加密插件
方法: npm install crypto-js --save-dev
2、在utils文件夹下创建 cryptoDES.js 文件并复制代码
// 登录des对称加密
import CryptoJs from 'crypto-js'
import config from '@/config/index.js'
export default {
/**
* 加密
*/
encrypt(word) {
let key = CryptoJs.enc.Utf8.parse(config.DES_KEY);
let srcs = CryptoJs.enc.Utf8.parse(word);
// 如果要用AES加密,就将下面这行DES改成AES 解密同理
let encrypted = CryptoJs.DES.encrypt(srcs, key, {
mode: CryptoJs.mode.ECB,
padding: CryptoJs.pad.Pkcs7
});
return encrypted.toString();
},
/**
* 解密
*/
decrypt(word) {
let key = CryptoJs.enc.Utf8.parse(config.DES_KEY);
// 如果要用AES解密,就将下面这行DES改成AES 加密同理
let decrypt = CryptoJs.DES.decrypt(word, key, {
mode: CryptoJs.mode.ECB,
padding: CryptoJs.pad.Pkcs7
});
return CryptoJs.enc.Utf8.stringify(decrypt).toString();
}
}
3、在根目录下的src/config/index.js 文件来储存DES_KEY
export default {
// 登录Des加密Key
DES_KEY: '12345678',
}
4、在相应的页面引入之后使用就可以啦
import { encrypt } from '@/libs/cryptoDES'
//.......你的代码.....
let passWord = 'ABCDEFG'
const pwd = encrypt(passWord)
console.log(pwd) // 打印结果 EJAXA44mk34=
//.......相应位置.....
5、 解密的话就调用cryptoDES.js中的decrypt方法