-

pako库介绍

Pako 是 JS 版 zlib,支持 Gzip/Deflate 浏览器 Node 压缩解压
pako下载
Pako 是 JS 版 zlib,支持 Gzip/Deflate 浏览器 Node 压缩解压
下载地址:https://github.com/nodeca/pako/tags
案例
演示: 尝试一下>>

        // XOR 加密/解密函数
        function xorCrypto(data, key) {
            var result = new Uint8Array(data.length);
            for (var i = 0; i < data.length; i++) {
                result[i] = data[i] ^ key;
            }
            return result;
        }
            // 配置
            var XOR_KEY = 0x5A; // 密钥
            var message = "hello world,你好呀"; 

            // 步骤1: 字符串转 Uint8Array
            var uint8 = new TextEncoder().encode(message); 

            // 步骤2: XOR 加密
            var encrypted = xorCrypto(uint8, XOR_KEY); 

            // 步骤3: Pako 压缩
            var compressed = pako.deflate(encrypted); 

            // 步骤4: Base64 编码
            var base64 = btoa(String.fromCharCode.apply(null, compressed)); 

            // 步骤1: Base64 解码
            var binary = atob(base64);
            var received = new Uint8Array(binary.length);
            for (var i = 0; i < binary.length; i++) {
                received[i] = binary.charCodeAt(i);
            } 

            // 步骤2: Pako 解压
            var decompressed = pako.inflate(received); 

            // 步骤3: XOR 解密
            var decrypted = xorCrypto(decompressed, XOR_KEY); 

            // 步骤4: 转字符串
            var finalResult = new TextDecoder().decode(decrypted);
            alert(finalResult)