某红书登录密码加密与签名逻辑探究 – app

* 所有相关信息仅技术学习调研,不公开任何侵犯公司价值信息,若有侵犯,请联系删除

探究某红书登录加密逻辑   需要先分析请求

发现  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 转的字节数组

 

 

* 所有相关信息仅技术学习调研,不公开任何侵犯公司价值信息,若有侵犯,请联系删除