| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import CryptoJS from 'crypto-js'
- import pako from 'pako'
- const CRYPTO_KEY = 'sd-designer'
- /**
- * 加密
- * @param msg 待加密字符串
- */
- export const encrypt = (msg: string) => {
- return CryptoJS.AES.encrypt(msg, CRYPTO_KEY).toString()
- }
- /**
- * 解密
- * @param ciphertext 待解密字符串
- */
- export const decrypt = (ciphertext: string) => {
- const bytes = CryptoJS.AES.decrypt(ciphertext, CRYPTO_KEY)
- return bytes.toString(CryptoJS.enc.Utf8)
- }
- export const zip = (str: string) => {
- const arr = pako.deflate(str, { gzip: true } as any);
- const ret = btoa(String.fromCharCode.apply(null, arr as any));
- return ret;
- }
-
- export const unzip = (b64Data: string) => {
- let strData = atob(b64Data);
- const charData = strData.split("").map(function (x) {
- return x.charCodeAt(0);
- });
- const binData = new Uint8Array(charData);
- const data = pako.inflate(binData);
- strData = new TextDecoder("utf-8").decode(data);
- return JSON.parse(strData);
- };
|