* 所有相关信息仅技术学习调研,不公开任何侵犯公司价值信息,若有侵犯,请联系删除
探究某红书登录加密逻辑 需要先分析请求
发现 password 存在加密 sign 签名
t 时间戳 deviceId 设备号 zone 通信国家地区编码
反编译app 定位加密位置
发现调用了zone 手机号phone 密码password
声明 a2 md5 哈希 password
所以 密码 做了 md5
验证:
探索 sign签名
定位到 sign 生成位置
分析
1. 函数传入了map对象,map对象是最上方抓包提交的数据表单
2. str声明了 deviceId 值
3. 做了一个 ArrayList 数组 将 map表单的 key 放入排序 然后获取 排序后的 key value 放入 StringBuilder sb对象 中间 等号(=)拼接
EQUAL_SIGN 值已经声明
4. 声明字节数组 bArr 将你的 StringBuilder sb对象 通过URLEncoder编码函数后 转为 bytes
5. 继续声明了 bytes 将 deviceId 转为 bytes
6. 遍历 bArr 与 bytes的对应值 异或
7. 异或结果压入 StringBuilder sb2
8. 统一小写字母 两次 md5 哈希 获得最终结果
验证:
bArr 为 StringBuilder sb 转的字节数组
bytes 为 deviceId 转的字节数组
异或后压入 StringBuilder sb2 的值
StringBuilder sb 的值(排序后的结果)
bytes 为 deviceId 转的字节数组
bArr 为 StringBuilder sb 转的字节数组
* 所有相关信息仅技术学习调研,不公开任何侵犯公司价值信息,若有侵犯,请联系删除