SOURCE

// 引入 crypto-js 库  
// const CryptoJS = require("crypto-js");  
  
// 假设这是你从某个地方获得的加密后的数据  
const cipherParams = {  
  sigBytes: 16,  
//   words: [1903059568, 2003268724, 1667659321, 912680823] 
  words:[892417073, 959592499, 960049203, 942878774]
};  
console.log("----" + cipherParams);
// 从 cipherParams 创建 WordArray 对象  
const wordArray = CryptoJS.lib.WordArray.create(cipherParams.words, cipherParams.sigBytes);  
console.log("----" + wordArray);
// 将 WordArray 转换为 Base64 字符串  
const base64String = wordArray.toString(CryptoJS.enc.Base64);  
  
console.log("----" + base64String); // 输出 Base64 编码的字符串
// var k = '{"guid":"04ac138f-9779-4895-bc77-ac7bb1474215","token":"","params":{"caseguid":"04ac138f-9779-4895-bc77-ac7bb1474215"}}';
console.log("-----------------分割线---------------------------------");
var hp = ['HmacSHA1', '\x20could\x20not', 'byteLength', 'prototype', 'modInverse', 'arrayToUtf', '解密前', 'sm3', 'low', '_doCryptBl', 'negate', 'encryptBlo', 'a\x20function', 'stringify', '345678', 'format', 'yPairHex', 'CTR', 'Super\x20expr', 'multiplyLo', '4CA09AA704', 'rMode', 'key\x20is\x20inv', '_mode', 'eset', '72rWbHIZ', 'symbol', '_iKey', 'sedCipher', 't\x20either\x20b', 'substr', '0E93', 'multiply', 'processBlo', '_oKey', '9910970pByjsO', 'BCBD414D94', 'utf8ToHex', 'gcd', '2765620QExRXf', 'Netscape', 'shiftLeft', 'execute', 'param', '15AB8F92DD', 'AB644776B1', 'blockSize', '_doProcess', 'toString', 'concat', 'cHelper', 'CEC911F217', 'A9877CC62A', 'twice', 'sm2Util', 'eger', 'getY', 'squareTo', 'randomByte', 'tHex', 'ivSize', 'leftPad', 'Utf8', '_hash', 'flipBit', 'string', 'curve', 'BigInteger', 'getGlobalC', 'arrayToHex', 'iv\x20is\x20inva', '0123456789', 'alues', 'output', 'ABCDEFGHIJ', 'clone', 'appName', '_rBlock', 'invalid\x20ke', 'max', 'mod', 'return\x20thi', 'zinv', 'RIPEMD160', 'compareTo', 'qnbpwgttcf', 'opqrstuvwx', 'ECB', 'isEven', '1264797HUpbFW', 'changeBit', '_map', 'exec', 'tialised\x20-', 'CTRGladman', 'generateKe', 'getTime', '0432C4AE2C', 'lShiftTo', 'efghijklmn', '$super', 'o\x20get\x20secu', 'buffer', 'remainder', 'urve', 'e\x20null\x20or\x20', 'pkcs#5', '_lBlock', 'fromBigInt', 'bitCount', '372540F0CF', 'ock', 'Encryptor', 'E52139F0A0', 'square', 'encrypt', 'keySize', 'isInfinity', 'xor', 'formatter', 'gbk暂不支持', 'to\x20be\x2064,\x20', 'constructo', 'DES', 'invDigit', 'equals', 'Prime', '39042D9FDF', '\x203DES\x20requ', 'alid', 'verifyPubl', 'fromNumber', 'HmacSHA256', 'getLowestS', 'multiplyTo', '(((.+)+)+)', 'Module', '_keystream', 'multiplyUp', 'v96fgw', '__proto__', 'object', 'TripleDES', 're\x20random\x20', 'fill', '6JIzxBV', 'mt2', 'cfg', '21C6052B53', 'outputLeng', 'Hasher', 'unpad', 'ion', 'crypto', 'kdf', 'map', 'emainder', 'padding\x20is', 'C9948FE30B', 'KLMNOPQRST', '89+/=', 'default', '\x20called', 'lib', '__creator', 'SHA1', 'isProbable', 'HmacSHA3', 'getLength', 'xplorer', 'HmacSHA384', '00000000FF', 'yptor', 'chunkSize', '_nRounds', 'RC4', 'werTo', 'CipherPara', 'yz01234567', 'Pkcs7', 'toLowerCas', 'licKeyHex', 'hash', 'peOf', 'getX', 'codePointA', 'create', 'Cannot\x20cal', 'enc', 'Invalid\x20ke', '_cipher', 'apply', '_append', 'function', 'ires\x20the\x20k', 'Base64', 'add', 'userId', 'Invalid\x20pu', 'charCodeAt', 'hmac', 'hasOwnProp', 'ceil', 'call', 'mpl', 'hasher', 'push', 'as\x20a\x20funct', 'setBit', '_doReset', 'ONE', 'getValue', 'byteOffset', 'bind', 'asn1Array', 'drShiftTo', '85647KgIFfB', 'fromInt', '_createHel', 'convert', 'length', '377525qiAsaS', 'SHA512', 'mph', 'join', 'Microsoft\x20', 'blic\x20key\x20t', 'fromString', 'substring', '_minBuffer', '_createHma', 'undefined', 'toBigInteg', '_doFinaliz', 't\x20been\x20ini', 'algo', 'high', 'NoPadding', 'ZeroPaddin', 'createEncr', 'FFFFFFFEFF', '_encode', 'exp', 'Serializab', '04A2C5ABFE', 'clamp', 'reduce', 'sigBytes', 'int', 'doEncrypt', 'compute', 'RabbitLega', 'encodeDer', 'EvpKDF', 'generateEc', 'millerRabi', 'parse', 'sin', 'number', '9F5E344D5A', 'Decryptor', 'mixIn', 'Base64url', 'BFF2660BE1', 'l\x20a\x20class\x20', 'Utf16BE', 'Size', 'encode', 'UTF-8\x20data', 'dAddOffset', 'intValue', 'Rabbit', 'signum', 'erty', '715A458933', 'decodePoin', '16BwyGQS', 'clearBit', '_prevBlock', 'StreamCiph', 'Word', 'SHA384', 'createDecr', 'mode', 'abcdefghij', 'blicKeyHex', 'dlShiftTo', 'Barrett', '_invSubKey', 'number.', 'FFFF', 'decrypt', 'infinity', 'decodeDer', 'bitwiseTo', 'padding', '\x20invalid', 'SHA224', 'bitLength', '_des2', 'min', 'key', 'revert', 'defineProp', 'sqrt', '_invKeySch', 'shiftRight', 'per', '00338DE4FF', 'sqrTo', 'SecureRand', 'charAt', '_des3', 'getRandomV', 'Block', 'A7F39789F5', 'BlockCiphe', 'modPow', 'addTo', '_key', '128,\x20192\x20o', 'Hex', 'FFFFFFFFFF', 'der', '4C74C7BC37', 'modPowInt', '_nDataByte', 'indexOf', '8326324357', '_hasher', 'x64', 'B1E3AF316C', 'update', '_iv', 'privateKey', 'leCipher', 'iterations', 'toX32', 'reset', 'Base', '9904466A39', '04422180E0', 'match', 'abs', 'Iso97971', 'y\x20length\x20-', 'ciphertext', 'etBit', 'WordArray', 'hexToArray', 'CFB', 'asn\x27t\x20been', 'pow', '76D4446879', '160', 'comparePub', 'RC4Drop', 'HmacMD5', 'perTo', 'UVWXYZabcd', 'fromCharCo', 'pad', 'pkcs#7', 'shortValue', 'mulTo', 'byteValue', 'and', '5323710VlQPQn', 'klmnopqrst', 'publicKey', '_parse', 'subTo', '_process', '9C59BDCEE3', 'words', 'SHA256', '_xformMode', 'divRemTo', '_ENC_XFORM', '_reverseMa', 'decryptBlo', 'nextBytes', '_safe_map', 'gbk', 'base64', 'utf8', 'Cipher', 'rShiftTo', 'MD5', '_decode', 'array', '_keyPriorR', 'copyTo', '_des1', 'BufferedBl', 'modInt', 'HMAC', 'edule', '_keySchedu', 'keyTable', '_data', 'AnsiX923', 'init', '128799RKPqSp', 'OFB', 'SHA3', 'PasswordBa', 'search', 'floor', 'this\x20hasn\x27', 'extend', 'utf16ToUtf', 'cbc', 'AES', 'pto\x20module', 'not', 'Utf16', '_state', 'DBA48204A1', 'Malformed\x20', '_subKeys', 'slice', 'ession\x20mus', 'next', 'getEncoded', 'Iso10126', 'testBit', 'divide', 'log', '790DBA3E39', 'drop', 'pop', 'ZERO', 'HmacRIPEMD', '\x20super()\x20h', 'fromRadix', '__esModule', 'toRadix', 'random', 'exports', '6B692153D0', 'fromCodePo', 'subtract', 'FFFC', '1F1981195F', 'divideAndR', '_MODE', 'sm2', ',\x20not\x20', 'PBKDF2', '_counter', 'toStringTa', '89-_', 'salt', 'dMultiply', 'HmacSHA224', 'finalize', '36A2F4F677'];

function encode(k, l, m) {
                        bo =bl;
                        if (bo(0x280) === (l = l || bo(0x282))){
                            console.log("k: " + bo(0x282));
                            return console['error'](bo(0x343)),k;
                        }
                        
                        bo(0x282) === l && (k = utf16ToUtf8(k));
                        
                        bo(0x282) === l && (k = utf16ToUtf8(k));
                        var bo = bl;
                        var o = _encode(k);
                        console.log("o: " + o);
                        return m && (o = encodeURIComponent(o)),
                        o;
                    }

function bl(d, e) {
        d = d - 0x193;
        var f = hp[d];
        return f;
    }

    function utf16ToUtf8(k) {
        
                    var bj = bl;
                    if (!k)
                        return '';
                        
                    for (var l = [], m = k[bj(0x1dd)], p = 0x0; p < m; p++) {
                        var q = k['charCodeAt'](p)
                          , v = void 0x0
                          , w = void 0x0
                          , x = void 0x0
                          , y = void 0x0
                          , z = void 0x0
                          , A = void 0x0;
                        q > 0x0 && q <= 0x7f ? l[bj(0x1cf)](k[bj(0x238)](p)) : q >= 0x80 && q <= 0x7ff ? (v = 0xc0 | q >> 0x6 & 0x1f,
                        w = 0x80 | 0x3f & q,
                        l[bj(0x1cf)](String['fromCharCo' + 'de'](v), String['fromCharCo' + 'de'](w))) : q >= 0x800 && q <= 0xffff ? (v = 0xe0 | q >> 0xc & 0xf,
                        w = 0x80 | q >> 0x6 & 0x3f,
                        x = 0x80 | 0x3f & q,
                        l[bj(0x1cf)](String[bj(0x269) + 'de'](v), String[bj(0x269) + 'de'](w), String['fromCharCo' + 'de'](x))) : q >= 0x10000 && q <= 0x1fffff ? (v = 0xf0 | q >> 0x12 & 0x7,
                        w = 0x80 | q >> 0xc & 0x3f,
                        x = 0x80 | q >> 0x6 & 0x3f,
                        y = 0x80 | 0x3f & q,
                        l[bj(0x1cf)](String[bj(0x269) + 'de'](v), String[bj(0x269) + 'de'](w), String['fromCharCo' + 'de'](x), String[bj(0x269) + 'de'](y))) : q >= 0x200000 && q <= 0x3ffffff ? (v = 0xf8 | q >> 0x18 & 0x3,
                        w = 0x80 | q >> 0x12 & 0x3f,
                        x = 0x80 | q >> 0xc & 0x3f,
                        y = 0x80 | q >> 0x6 & 0x3f,
                        z = 0x80 | 0x3f & q,
                        l[bj(0x1cf)](String[bj(0x269) + 'de'](v), String[bj(0x269) + 'de'](w), String[bj(0x269) + 'de'](x), String['fromCharCo' + 'de'](y), String[bj(0x269) + 'de'](z))) : (v = 0xfc | q >> 0x1e & 0x1,
                        w = 0x80 | q >> 0x18 & 0x3f,
                        x = 0x80 | q >> 0x12 & 0x3f,
                        y = 0x80 | q >> 0xc & 0x3f,
                        z = 0x80 | q >> 0x6 & 0x3f,
                        A = 0x80 | 0x3f & q,
                        l[bj(0x1cf)](String[bj(0x269) + 'de'](v), String[bj(0x269) + 'de'](w), String[bj(0x269) + 'de'](x), String['fromCharCo' + 'de'](y), String['fromCharCo' + 'de'](z), String[bj(0x269) + 'de'](A)));
                    console.log("test--: " + l);
                    }
                    return l['join']('');
                }


                function _encode(k) {
                    var bm = bl;
                    // var keyTable = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
                    var keyTable = bl(0x315) + bl(0x1a0) + 'UVWXYZabcd' + bl(0x32e) + bl(0x321) + bl(0x1b3) + bl(0x1a1);
                        
                        if (!k)
                            return '';
                        for (var l, m, p, q, v, w = k[bm(0x1dd)], x = keyTable, y = 0x0, z = [], A = '', B = ''; y < w; )
                            p = (l = 0xff & k[bm(0x1c8)](y++)) >> 0x2,
                            q = (0x3 & l) << 0x4 | (m = k['charCodeAt'](y++)) >> 0x4 & 0xf,
                            v = (0xf & m) << 0x2 | (0xc0 & (A = k[bm(0x1c8)](y++))) >> 0x6,
                            B = 0x3f & A,
                            isNaN(m) ? (v = 0x40,
                            B = 0x40) : isNaN(A) && (B = 0x40),
                            z[bm(0x1cf)](x[bm(0x238)](p)),
                            z[bm(0x1cf)](x['charAt'](q)),
                            z[bm(0x1cf)](x['charAt'](v)),
                            z[bm(0x1cf)](x[bm(0x238)](B)),
                            l = '',
                            m = '',
                            A = '',
                            p = '',
                            q = '',
                            v = '',
                            B = '';
                        return z['join']('');
                    }


var k = '{"guid":"04ac138f-9779-4895-bc77-ac7bb1474215","token":"","params":{"caseguid":"04ac138f-9779-4895-bc77-ac7bb1474215"}}';
// console.log(hp[600]);
console.log(encode(k,undefined,undefined));
console 命令行工具 X clear

                    
>
console