Files
giftlaw/js_sdk/cainiao-crypto/cainiao-crypto.js
T
2026-09-11 17:31:59 +08:00

34 lines
867 B
JavaScript

import CryptoJS from '../crypto-js/crypto-js.js' //引用AES源码js
// 密钥以 XOR(0x5A) 混淆存储,运行时还原;真实 key 不以明文出现在源码中
var _k = "6b68696e6f6c6d62636b68696e6f6c6d";
var _m = 0x5A;
function getKey() {
var s = "";
for (var i = 0; i < _k.length; i += 2) {
s += String.fromCharCode(parseInt(_k.substr(i, 2), 16) ^ _m);
}
return CryptoJS.enc.Utf8.parse(s);
}
//加密方法
export function Encrypt(word) {
var key = getKey();
var data = CryptoJS.enc.Utf8.parse(word);
var b = CryptoJS.AES.encrypt(data, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return b["toString"]()
}
//解密方法
export function Decrypt(word) {
var key = getKey();
var d = CryptoJS.AES.decrypt(word, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(d);
}