使用方法
- 先在vue项目中安装crypto-js
npm install crypto-js --save-dev
- 新建digest.js加密文件,代码如下
import CryptoJS from 'crypto-js';
/* 加密工具类 */
export const AES = {
encrypt(data, secretKey) {
let utf8Data = CryptoJS.enc.Utf8.parse(data);
let utf8SecretKey = CryptoJS.enc.Utf8.parse(secretKey);
var encrypted = CryptoJS.AES.encrypt(utf8Data, utf8SecretKey, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
return encrypted.toString();
},
decrypt(data, secretKey) {
var utf8SecretKey = CryptoJS.enc.Utf8.parse(secretKey);
var decrypt = CryptoJS.AES.decrypt(data, utf8SecretKey, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
}
export const MD5 = {
encrypt(data) {
return CryptoJS.MD5(data).toString();/* toString后会变成Hex 32位字符串*/
}
}
export default {
MD5,
AES
}
- 使用方法
import digest from '@/utils/digest'
let testDigestMd5 = () => {
let md5EncryptData = digest.MD5.encrypt("123456");
console.info(`md5EncryptData : ${md5EncryptData}`);
let aesEncryptData = digest.AES.encrypt("123456",'12345678')
console.info(`aesEncryptData : ${aesEncryptData}`);
let aesDecryptData = digest.AES.decrypt(aesEncryptData,'12345678');
console.info(`aesDecryptData : ${aesDecryptData}`);
}
输出:
md5EncryptData : e10adc3949ba59abbe56e057f20f883e
aesEncryptData : 7FP0388LUA3VVswkk97NJA==
aesDecryptData : 123456