美文网首页我爱编程
js 3des 加解密,附加demo (模式:cbc 或 ecb

js 3des 加解密,附加demo (模式:cbc 或 ecb

作者: 李佳明先生 | 来源:发表于2018-06-07 18:52 被阅读0次

    部分js代码

    //秘钥key
            var key = "12345677654321";
            //key不足24位自动以0(最小位数是0)补齐,如果多余24位,则截取前24位,后面多余则舍弃掉
            var base64 = CryptoJS.enc.Utf8.parse(key)
            //加密使用的是3DES中的ECB,解密对应的使用ECB
            function encrypt() {
                var text = document.getElementById('content').value+'';
                var encrypt = CryptoJS.TripleDES.encrypt(text, base64, {
                        iv: CryptoJS.enc.Utf8.parse('0123456789'),//iv偏移量
                        mode: CryptoJS.mode.CBC,  //CBC模式
                        // mode: CryptoJS.mode.ECB,  //ECB模式
                        padding: CryptoJS.pad.Pkcs7//padding处理
                    }
                );
                var encryptData = encrypt.toString();//加密完成后,转换成字符串
                document.getElementById("encrypt").innerText=encryptData;
            }
            //解密
            function decrypt() {
                var text = document.getElementById("encrypt").innerText;
                var decrypt = CryptoJS.TripleDES.decrypt(text, base64, {
                        iv: CryptoJS.enc.Utf8.parse('0123456789'),
                        mode: CryptoJS.mode.CBC,
                        // mode: CryptoJS.mode.ECB,
                        padding: CryptoJS.pad.Pkcs7
                    }
                );
                //解析数据后转为UTF-8
                var parseData = decrypt.toString(CryptoJS.enc.Utf8);
                document.getElementById("decrypt").innerText=parseData;
            }
    

    最后要注意下,只有cbc模式有iv,ecb模式只有待解密字符串和key
    github地址

    相关文章

      网友评论

        本文标题:js 3des 加解密,附加demo (模式:cbc 或 ecb

        本文链接:https://www.haomeiwen.com/subject/cacnsftx.html