diff --git a/package.json b/package.json index 3cddff81..fa6610a2 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "@tinymce/tinymce-vue": "4.0.3", "axios": "0.21.1", "core-js": "3.15.2", + "crypto-js": "4.0.0", "echarts": "5.1.2", "element-plus": "1.0.2-beta.54", "nprogress": "0.2.0", diff --git a/src/utils/tool.js b/src/utils/tool.js index dae92289..b5b60b90 100644 --- a/src/utils/tool.js +++ b/src/utils/tool.js @@ -5,6 +5,8 @@ * @LastEditTime: 2021年6月28日19:13:13 */ +import CryptoJS from 'crypto-js'; + const tool = {} /* localStorage */ @@ -95,4 +97,32 @@ tool.groupSeparator = function (num) { }).replace(/\.$/, ''); } +/* 常用加解密 */ +tool.crypto = { + //MD5加密 + MD5(data){ + return CryptoJS.MD5(data).toString() + }, + //BASE64加解密 + BASE64: { + encrypt(data){ + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(data)) + }, + decrypt(cipher){ + return CryptoJS.enc.Base64.parse(cipher).toString(CryptoJS.enc.Utf8) + } + }, + //AES加解密 + AES: { + encrypt(data, secretKey){ + const result = CryptoJS.AES.encrypt(data, CryptoJS.enc.Utf8.parse(secretKey)) + return result.toString() + }, + decrypt(cipher, secretKey){ + const result = CryptoJS.AES.decrypt(cipher, CryptoJS.enc.Utf8.parse(secretKey)) + return CryptoJS.enc.Utf8.stringify(result); + } + } +} + export default tool