android签名算法怎么实现
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文小编为大家详细介绍"android签名算法怎么实现",内容详细,步骤清晰,细节处理妥当,希望这篇"android签名算法怎么实现"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
千家信息网最后更新 2026年11月02日android签名算法怎么实现
本文小编为大家详细介绍"android签名算法怎么实现",内容详细,步骤清晰,细节处理妥当,希望这篇"android签名算法怎么实现"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
1、抓包工具抓取一个请求
POST /rest/n/feed/nearby?app=0&kpf=ANDROID_PHONE&ver=6.5&c=HUAWEI_KWAI&mod=HUAWEI%28HWI-AL00%29&appver=6.5.5.9591&ftt=&isp=CUCC&kpn=KUAISHOU&lon=102.698614&language=zh-cn&sys=ANDROID_9&max_memory=384&ud=0&country_code=cn&oc=HUAWEI_KWAI&hotfix_ver=&did_gt=1584622753889&iuid=&net=WIFI&did=ANDROID_9ba4839bf09a1834&lat=25.002707 HTTP/1.1 type=10&page=1&token=&count=20&id=9&refreshTimes=0&coldStart=false&source=1&browseType=1&seid=60ed7899-e25e-4b9b-b971-3f75b4df00fd&os=android&sig=75e33af6cb4a795c039e0f94a9bd27bf&client_key=3c2cd3f3
2、分析
可以看到请求的参数中,有一个字段叫sig,我们主要要做的工作就是通过参数计算出这个sig,通过逆向分析发现,这个sig计算方式为:
把url中的参数放入map1中;
把表单中的参数放入map2中;
把map1和map2中的元素以key=value的形式放入arraylist中对arraylist进行排序;
把arraylist中的元素按顺序拼接成一个字符串str;
把str转成bytearray;
调用CPU.getClock(),传入str计算签名;
CPU.getClock()是一个native方法,在libcore.so中实现
3、放代码
from sig import signatureimport requestspara = { "app":"0", "kpf":"ANDROID_PHONE", "ver":"6.5", "c":"HUAWEI_KWAI", "mod":"HUAWEI(HWI-AL00)", "appver":"6.5.5.9591", # "ftt":"", "isp":"CUCC", "kpn":"KUAISHOU", # "lon":"102.698614", "language":"zh-cn", "sys":"ANDROID_9", "max_memory":"384", "ud":"0", "country_code":"cn", "oc":"HUAWEI_KWAI", # "hotfix_ver":"", "did_gt":"1584622753889", # "iuid":"", "net":"WIFI", "did":"ANDROID_9ba4839bf09a1834", # "lat":"25.002707"}post = { "type":"10", "page":"1", "token":"", "count":"20", "id":"9", "refreshTimes":"0", "coldStart":"false", "source":"1", "browseType":"1", "seid":"60ed7899-e25e-4b9b-b971-3f75b4df00fd", "os":"android", "client_key":"3c2cd3f3"}j = signature.WeChat_YY_yhzf.sig_post("https://apissl.ksapisrv.com/rest/n/feed/nearby",para,post)header = {"Content-Type":"application/x-www-form-urlencoded"} resp = requests.post(j["para"], data=j["data"],headers=header)print(resp.text)请求结果如下:
cdn.nlark.com/yuque/0/2020/png/97322/1606958397549-a4664517-e9df-496f-8f5f-8816042a6582.png?x-oss-process=image/resize,w_1500">
读到这里,这篇"android签名算法怎么实现"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
参数
算法
文章
元素
内容
分析
妥当
代码
字段
字符
字符串
就是
工具
形式
思路
新知
方式
方法
更多
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技园
上海睿民互联网科技有限公司
华服互联网科技怎么样
中国互联网科技股
涨乐互联网科技
互联网金融 科技
猫创互联网科技
多迪互联网科技有限公司
恒生科技互联网指数分析
新华互联网科技2019
互联网科技与管理
和信科技工业互联网
辽宁互联网新科技
996高科技互联网公司
用友工业互联网科技发展
梅州GM互联网络科技有限公司
四川互联网展示科技馆设计
互联网硬科技公司
唐山双旺合互联网科技产业园
互联网科技快速发展优美句子
咖啡豆
互联网黑科技
科技创新与互联网经济
壕鑫互联网络科技
万达互联网科技
玖二柒互联网科技公司待遇
移动互联网科技股
昭通互联网科技选哪家
宜昌元轩互联网科技有限公司
互联网科技接地气