This commit is contained in:
Jesse-Ma
2022-05-27 14:29:30 +08:00
parent af75777b4e
commit 0d10a1802a
32 changed files with 1909 additions and 1 deletions

57
src/libs/secret.js Normal file
View File

@@ -0,0 +1,57 @@
import CryptoJS from 'crypto-js'
import pako from 'pako'
/**
* @word 要加密的内容
* @keyWord String 服务器随机返回的关键字
* */
//加密
export function md5(word, keyWord = 'F1agn0te') {
let srcWords = CryptoJS.enc.Utf8.parse(word + '_' + keyWord);
let encrypted = CryptoJS.MD5(srcWords);
return encrypted.toString();
}
//加密
export function aesEncrypt(word, keyWord = 'F1agn0te') {
let key = CryptoJS.enc.Utf8.parse(keyWord);
let srcWords = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcWords, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return encrypted.toString();
}
//解密
export function aesDecrypt(word, keyWord = 'F1agn0te') {
let key = CryptoJS.enc.Utf8.parse(keyWord);
let decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString()
}
export function encode(text) {
return btoa(encodeURIComponent(text))
}
export function decode(text) {
return decodeURIComponent(atob(text))
}
export function unzip(text) {
let charData = text.split(',').map(function (x) {
return parseInt(x)
});
let binData = new Uint8Array(charData);
let data = pako.ungzip(binData);
//text = String.fromCharCode.apply(null, new Uint8Array(data));
text = new Uint8Array(data).reduce(function (data, byte) {
return data + String.fromCharCode(byte);
}, '');
return text;
}
export function zip(text) {
text = pako.gzip(text, {to: 'string'});
return text;
}