美文网首页
快手API签名算法分析

快手API签名算法分析

作者: zzx169 | 来源:发表于2019-04-09 12:39 被阅读0次

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

POST https://apissl.gifshow.com/rest/n/user/profile/v2?mod=Xiaomi%282014813%29&lon=113.734844&country_code=CN&kpn=KUAISHOU&oc=GENERIC&egid=DFP635C749E2DDA6433B6D675E0AD1EC85737BB48E06C7EDEB5A7BBE555968B6&hotfix_ver=&sh=1280&appver=6.11.0.11882&socName=%3A%20Qualcomm%20MSM8916&max_memory=96&isp=&browseType=1&kpf=ANDROID_PHONE&did=ANDROID_4afa33d874ca03f4&net=WIFI&app=0&ud=1329122448&c=GENERIC&sys=ANDROID_5.1.1&sw=720&ftt=&language=zh-cn&iuid=&lat=34.770369&did_gt=1577761445710&ver=6.11 HTTP/1.1
Host: apissl.gifshow.com
Connection: keep-alive
Content-Length: 272
Cookie: region_ticket=RT_3934BBDA9108DA947909724E0F49F964A182C6E00B8075F784F83F6F94187;token=f49d24315f564c0798f4de74de251b7c-1329122448
X-REQUESTID: 157845368620498412
User-Agent: kwai-android
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate, br

user=1137667035&pv=true&__NS_sig3=2212054879c6d647c3cae9c25604b5f2ea2d1895fe&__NStokensig=702cea9556d98f2de6ff4e1b075f24d3add2e0336d6341aa45bcba3f08d38a0e&token=f49d24315f564c0798f4de74de251b7c-1329122448&client_key=3c2cd3f3&os=android&sig=9bae685031a105be31603c9606ed393e

sig的计算方法如下:

  1. 把url中的参数放入map1中;
  2. 把表单中的参数放入map2中;
  3. 把map1和map2中的元素以key=value的形式放入arraylist中;


    在这里插入图片描述
  4. 对arraylist进行排序;
  5. 把arraylist中的元素按顺序拼接成一个字符串str;
  6. 把str转成bytearray;
  7. 调用CPU.getClock(),传入str计算签名;

CPU.getClock()是一个native方法,在libcore.so中实现,__NS_sig3是根据url中的path和sig计算的,在libkwsgmain.so中实现,快手接口签名算法大概就这些,对细节感兴趣的朋友可以交流

相关文章

  • 快手API签名算法分析

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

  • 小红书API签名算法分析

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

  • Api 签名算法

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

  • 用户验证三部曲3 - JWT

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

  • 接口调用的安全性问题

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

  • 使用Java 进行SHA1加密

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

  • 基于RSA的数字签名方案

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

  • 小学僧浅谈Api 签名算法

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

  • 2018-06-04

    一、基本说明 统一网关地址: API_KEY 与 TOKEN 基础请求参数构成: 签名算法 其中 data 是将 ...

  • 开放API接口签名

    后端在写对外的API接口时,一般会对参数进行签名来保证接口的安全性,在设计签名算法的时候,主要考虑的是这几个问题:...

网友评论

      本文标题:快手API签名算法分析

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