/** * * @file EncryptUtil.ts * @author dream * @description 一些加密解密方法 * */ import SDK from "../SDK"; import Utils from "./Utils"; // let keyStr = ["AabB1122CcdDEfgg","Xianyou2021jjrfk","CMi89Egjd233pOKs"] let keyStr = ["","","CMi89Egjd233pOKs"] let keyCode ="1qazQAZ2wsxWSX3edcEDC4rfvRFV5tgbTGB6yhnYHN7ujmUJM8ikIK9olOL0pP" let ivKey = "GhCMeiV16WkB4kFf" let counts = [,,14]; export enum EncryptType{ ED_CM = 2 } export module EncryptUtil { export function en(word:string){ // if(SDK.Instance.edType === EncryptType.ED_ZC){ // return encrypt(word); // }else // if(SDK.Instance.edType === EncryptType.ED_XY){ // return desEncrypt(word); // } // else if(SDK.Instance.edType === EncryptType.ED_CM){ return encryptIv(word); } return null; } export function de(word:string){ // if(SDK.Instance.edType === EncryptType.ED_ZC){ // return decrypt(word); // }else // if(SDK.Instance.edType === EncryptType.ED_XY){ // return desDecrypt(word); // } // else if(SDK.Instance.edType === EncryptType.ED_CM){ return decryptIv(word); } return null; } // // 97-122,A-Z:65-90,0-9:48-57。 // //加密 export function encryptIv(word:string){ let keys = keyStr[SDK.Instance.edType]; var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg== var srcs = CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.AES.encrypt(word, key, {iv:CryptoJS.enc.Utf8.parse(ivKey),mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7}); let code =""; let count = counts[SDK.Instance.edType]; for(let i = 1 ; i <= count ; i++){ let index = Utils.instance.getRandomInt(1,keyCode.length); code+=keyCode.substring(index-1,index); } return code+encrypted.toString(); } // //解密 // export function decrypt(word, keyStr){ export function decryptIv(word:string){ let count = counts[SDK.Instance.edType]; let keys = keyStr[SDK.Instance.edType]; word = word.substring(count,word.length); var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg== var decrypt = CryptoJS.AES.decrypt(word, key, {iv:CryptoJS.enc.Utf8.parse(ivKey),mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7}); return CryptoJS.enc.Utf8.stringify(decrypt).toString(); } // // 97-122,A-Z:65-90,0-9:48-57。 // //加密 // // export function encrypt(word, keyStr){ // export function encrypt(word:string){ // let keys = keyStr[SDK.Instance.edType]; // var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg== // var srcs = CryptoJS.enc.Utf8.parse(word); // var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}); // let code =""; // let count = counts[SDK.Instance.edType]; // for(let i = 1 ; i <= count ; i++){ // let index = Utils.instance.getRandomInt(1,keyCode.length); // code+=keyCode.substring(index-1,index); // } // return code+encrypted.toString(); // } // //解密 // // export function decrypt(word, keyStr){ // export function decrypt(word:string){ // let count = counts[SDK.Instance.edType]; // let keys = keyStr[SDK.Instance.edType]; // word = word.substring(count,word.length); // var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg== // var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}); // return CryptoJS.enc.Utf8.stringify(decrypt).toString(); // } // export function desEncrypt(word:string){ // let keys = keyStr[SDK.Instance.edType]; // var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg== // var srcs = CryptoJS.enc.Utf8.parse(word); // var encrypted = CryptoJS.DES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}); // let code =""; // let count = counts[SDK.Instance.edType]; // for(let i = 1 ; i <= count ; i++){ // let index = Utils.instance.getRandomInt(1,keyCode.length); // code+=keyCode.substring(index-1,index); // } // // console.log("code: "+code); // return code+encrypted.toString(); // } // //解密 // // export function decrypt(word, keyStr){ // export function desDecrypt(word:string){ // let count = counts[SDK.Instance.edType]; // let keys = keyStr[SDK.Instance.edType]; // word = word.substring(count,word.length); // var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg== // var decrypt = CryptoJS.DES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}); // return CryptoJS.enc.Utf8.stringify(decrypt).toString(); // } }