/** * 对页面上输入的密码进行加密传输给后台进行验证,对返回的数据进行解密,在页面展示 */ let CryptoJS = require('crypto-js'); // 引入AES源码js export default { /* * 对密码进行加密,传输给后台进行验证 * @param {String} word 需要加密的密码 * @param {String} keyStr 对密码加密的秘钥 * @return {String} 加密的密文 * */ encrypt(word, keyStr) { // 加密 keyStr = keyStr ? keyStr : 'abcd1234ABCDQGJ1'; let key = CryptoJS.enc.Utf8.parse(keyStr); let srcs = CryptoJS.enc.Utf8.parse(word); let encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); }, /* * 对加密之后的密文在页面上进行解密,以便用户进行修改 * @param {String} word 需要加密的密码 * @param {String} keyStr 对密码加密的秘钥 * @return {String} 解密的明文 * */ decrypt(word, keyStr) { // 解密 keyStr = keyStr ? keyStr : 'ABGHNJHGSHUYG12'; let key = CryptoJS.enc.Utf8.parse(keyStr); let decrypt = CryptoJS.AES.decrypt(word, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); return CryptoJS.enc.Utf8.stringify(decrypt).toString(); }, };