CryptoJs WordArray恢复字符串


在日常测试的时候,发现系统前端打包数据给后端是加密、后端传输回来的也是加密,看来前端做了加解密,跟踪函数如下:

 

 

 例如AES CBC加密,iv为偏移量,查看数据类型:

 

 

 搜了下,没有特点的说法,CryptoJS写的,本身特定的wordArray数据类型,查看源码:

部分代码如下:

        /**
         * Hex encoding strategy.
         */
        var Hex = C_enc.Hex = {
                /**
                 * Converts a word array to a hex string.
                 *
                 * @param {WordArray} wordArray The word array.
                 *
                 * @return {string} The hex string.
                 *
                 * @static
                 *
                 * @example
                 *
                 *     var hexString = CryptoJS.enc.Hex.stringify(wordArray);
                 */
                stringify: function (wordArray) {
                    // Shortcuts
                    var words = wordArray.words;
                    var sigBytes = wordArray.sigBytes;

                    // Convert
                    var hexChars = [];
                    for (var i = 0; i < sigBytes; i++) {
                        var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
                        hexChars.push((bite >>> 4).toString(16));
                        hexChars.push((bite & 0x0f).toString(16));
                    }

                    return hexChars.join('');
                },

可以wordArray转到16进制,16进制转字符串

 

参考:

https://my.oschina.net/u/3549294/blog/1862451

https://segmentfault.com/p/1210000017534439/read

https://searchcode.com/codesearch/view/96336148/

http://tool.chacuo.net/cryptaes

https://blog.csdn.net/qq_31281245/article/details/112462715

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM