美文网首页
小红书API签名算法分析

小红书API签名算法分析

作者: llw87 | 来源:发表于2019-05-25 10:41 被阅读0次

小红书APP API接口使用url中的sign参数和header中shield参数来校验请求的有效性,我们随便看一个API请求:

GET https://www.xiaohongshu.com/api/sns/v1/system_service/config?launchtimes=1&platform=android&deviceId=e0805561-6579-3ec6-b717-d64adf33c3ef&device_fingerprint=20190519202808a5dac07354d5e3b71a01abb98b0d6dc6016852749a37a304&device_fingerprint1=20190519202808a5dac07354d5e3b71a01abb98b0d6dc6016852749a37a304&versionName=5.45.0&channel=xiaohongshu&sid=session.1558744693398053223445&lang=zh-Hans&t=1558749910&sign=c4513e220ab27a8561191440d912f457 HTTP/1.1
device_id: e0805561-6579-3ec6-b717-d64adf33c3ef
Authorization: session.1558744693398053223445
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; 2014813 MIUI/7.11.16) Resolution/720*1280 Version/5.45.0 Build/5450095 Device/(Xiaomi;2014813) NetType/WiFi
shield: aa1fb61921361897c61894b5444a2d0715c75caa473dd8991187f78a22cdcfa0
Host: www.xiaohongshu.com
Connection: Keep-Alive
Accept-Encoding: gzip

sign参数是用url中的参数计算出来的,大概流程如下:

  1. 把url中的参数按key=value的形式按字母顺序拼接到一起
  2. 对1的结果进行url encode
  3. 把2的结果转成byte array
  4. 从url中获取deviceId,并转成byte array
  5. 对3和4的结果每个字节进行相关的异或运算


    在这里插入图片描述
  6. 把5的结果的md5和deviceId拼接到一起
  7. 计算6的结果的md5

shield参数是由带上sign参数的url计算出来的,是通过拦截请求,在header中插入shield字段,这部分是在process方法中实现,process是一个native方法,在libshield.so中定义

在这里插入图片描述
小红书API的签名参数计算流程就这样,对细节感兴趣的朋友可以交流

相关文章

  • 小红书API签名算法分析

    小红书APP API接口使用url中的sign参数和header中shield参数来校验请求的有效性,我们随便看一...

  • 快手API签名算法分析

    快手的API接口都使用签名做了保护,API接口请求使用的是POST方法,签名是POST表单中的sig参数,我们看一...

  • Api 签名算法

    描述 为了保证第三方应用与API服务器之间通信的安全性,防止Secret Key盗用、数据篡改等恶意攻击行为,开放...

  • 小红书API签名生成 C#语法

    先吐槽一下小红书的订单和商品结构真恶心,还有给的沙箱环境的管理项目一堆BUG没修复。

  • 用户验证三部曲3 - JWT

    JWT JSON Web Token 采用非对称算法(公钥私钥)进行签名 Todo API(业务API)可独立对J...

  • 接口调用的安全性问题

    1.参数加密,h5加密,api接口解密2.签名算法验签,用户端服务端设计一个签名算法,进行校验3.针对登录用户,生...

  • 使用Java 进行SHA1加密

      最近要与微信API做对接,用到了SHA1加密算法去生成签名,在此做个记录。   安全哈希算法(Secure H...

  • 基于RSA的数字签名方案

    算法分析 RSA签名方案是目前使用较多的一个签名方案,它的安全性是基于大整数因式分解的困难性。 主要包括算法: 秘...

  • 小红书分析

    1. 体验信息 产品名称:小红书 体验人:泡泡糖 版本号:iOS v5.7 2. 产品简述 2.1行业分析 根据易...

  • 小红书分析

    1. 市场现状 2015年6月11日埃森哲发布报告预测未来几年全球B2C电商市场保持15%的年均增速。 但由于信息...

网友评论

      本文标题:小红书API签名算法分析

      本文链接:https://www.haomeiwen.com/subject/iujazqtx.html