前端加密、解密数据
- 安装依赖
npm install crypto-js --save-dev
- utils 公共方法
const CryptoJS = require('crypto-js');
const mode = CryptoJS.mode.ECB
const padding = CryptoJS.pad.NoPadding
let key1 = 'oneparksoneparks'; // 其他目前aes
let key2 = 'fasdfadsfrwebjvzmhfgcurutrvzxcn'; //登录des
let iv = '';
//DES ECB模式加密 utf8 to base64
export function encryptByDES (message) {
var ivHex = CryptoJS.enc.Utf8.parse(iv);
const keyHex = CryptoJS.enc.Utf8.parse(key2);
const encrypted = CryptoJS.DES.encrypt(message, keyHex, {
iv: ivHex,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
};
// AES加密
export function encryptByAES (message) {
const keyHex = CryptoJS.enc.Utf8.parse(key1);
const encrypted = CryptoJS.AES.encrypt(message, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.ciphertext.toString(CryptoJS.enc.Base64);
};
// AES ECB模式解密
export function decryptByAES (ciphertext) {
const keys = CryptoJS.enc.Utf8.parse(key1);
const decrypt = CryptoJS.AES.decrypt(ciphertext, keys, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
};
// DES ECB模式解密
export function decryptByDES (ciphertext) {
const keys = CryptoJS.enc.Utf8.parse(key2);
const decrypt = CryptoJS.DES.decrypt(ciphertext, keys, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
};
// AES模式解密
export function formatTime (date) {
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
const second = date.getSeconds();
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':');
}
export function formatNumber (n) {
n = n.toString();
return n[1] ? n : '0' + n;
}
export function getQueryParam (str, name) {
let search;
if (str.indexOf('?') === -1) {
return null;
} else {
search = str.split('?')[1];
}
let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
let r = search.match(reg);
if (r != null) return decodeURI(r[2]);
return null;
}
提供几个在线加密解密地址
MD5在线加密解密:https://www.sojson.com/md5/
AES在线加密解密 : https://www.mklab.cn/utils/aes
本文含有隐藏内容,请 开通VIP 后查看