海康威视状态码解密
写在内容前:状态码只是流程的中间值,无需焦虑和担心,更碰上国庆假期,自然也不会有过大的变化;有人有想要看状态的需求(前链接https://www.nowcoder.com/discuss/531034?source_id=profile_create&channel=1009),我也想研究一下前后端数据的沟通,感谢虚基类和很久!两位大佬的提示,就写了这个懒人贴,帮助大家看一下自己的状态码。
以谷歌浏览器为例
1. Sources中找到common.js
2. 在最后一个AES解密函数 DecryptParamStr (word, keyStr, ivStr) 的return打上断点,刷新浏览器。
3. 此时浏览器会debug停在return处,按下4位置的灰色箭头就能出现5位置return value的状态码;按3位置的蓝色箭头是下一个解密的状态码,再按4就出现返回值,简单讲就是4-3互点;
简而言之,本次加密和解密状态码共用到了三个函数,字符串转16位strToHexCharCode(str),AES加密EncryptParamStr (word, keyStr, ivStr),AES解密DecryptParamStr (word, keyStr, ivStr)。
本着学习的目标,有兴趣的同学可以自行搜索这个AES加密方法和插件crypto里的js文件,是具体加解密函数实现的过程。
高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥。
主要分为这几部分明文P,密钥K,AES加密函数,密文C和AES解密函数。
加密时:设AES加密函数为E,则 C = E(K, P),其中P为明文,K为密钥,C为密文。也就是说,把明文P和密钥K作为加密函数的参数输入,则加密函数E会输出密文C。
解密时:设AES解密函数为D,则 P = D(K, C),其中C为密文,K为密钥,P为明文。也就是说,把密文C和密钥K作为解密函数的参数输入,则解密函数会输出明文P。
ps:我自己也许愿一下,觉得不错点个赞吧,点赞offer多多,大家加油~~~
#海康威视##前端##招聘进度##网络安全#