在日常測試的時候,發現系統前端打包數據給后端是加密、后端傳輸回來的也是加密,看來前端做了加解密,跟蹤函數如下:
例如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