android签名算法怎么实现
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本文小编为大家详细介绍"android签名算法怎么实现",内容详细,步骤清晰,细节处理妥当,希望这篇"android签名算法怎么实现"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
天涯明月刀手游服务器人少
电信数据库 设计
网络安全手抄报的内容怎么画
广东app软件开发要多少钱
长沙沙狐网络技术有限公司
河南网络安全试点
数据库技术是数据结构吗
腾讯网络安全部门电话
常用的软件开发模型的特点
湖北费用管理软件开发公司
张家口支付软件开发
不和谐服务器app下载
linux启动oracle数据库
新型网络安全风险有哪些
信息工程网络技术
黑龙江服务器电源订购
主控服务器
计算机网络技术 软件技术
数据库怎么控制并发数量
服务器热源回收
网络安全分几个等级
软件开发qa检查表
保山gpu云服务器价格
广西哪些学校有网络技术
手机无线服务器
即时聊天 服务器
2018服务器管理器
中国网络安全国际大会
数据库原理及应用第四版答案吴靖
我们应该注重网络安全英文