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