淘宝sign算法和使用教程
前言
最新写的淘宝热卖插件系列里面有涉及到淘宝sign算法加密,这里博主分享一下之前找到算法和修改后的算法以及使用教程。在此希望能帮助更多的人,欢迎各位加入我的交流Q群:468458543,群内不定时分享各大网站算法加密哦
使用教程
淘宝sign需要传入4个参数
tooken、time时间戳、appKey密钥、data数据
tooken一般是在cookie中的_m_h5_tk中
时间戳自己随意生成
appKey自己找
data一般是一段json
下面来看一下淘宝官方提交参数

1 //sign
2 730b9faf873a581477639ebba0397e5c
3 //time
4 1565235881353
5 //tooken
6 6620e884e98009cf556bf8a8915e2395
7 //appKey
8 12574478
9 //data
10 {"keyword":"热卖","ppath":"","loc":"","minPrice":"","maxPrice":"","ismall":"","ship":"","itemAssurance":"","exchange7":"","custAssurance":"","b":"","clk1":"cab6e9b4b36f8ff6eec6cca229c4e7e7","pvoff":"","pageSize":"100","page":"0","elemtid":"1","refpid":"mm_26632258_3504122_32538762","pid":"430673_1006","featureNames":"spGoldMedal,dsrDescribe,dsrDescribeGap,dsrService,dsrServiceGap,dsrDeliver, dsrDeliverGap","ac":"w9x7FaK+sywCAXZxAYrp1Abf","wangwangid":"qq2757189408","catId":""}
咱们来计算一下看看是不是和官方的一样呢?
1 sign("6620e884e98009cf556bf8a8915e2395","1565235881353","12574478",{"keyword":"热卖","ppath":"","loc":"","minPrice":"","maxPrice":"","ismall":"","ship":"","itemAssurance":"","exchange7":"","custAssurance":"","b":"","clk1":"cab6e9b4b36f8ff6eec6cca229c4e7e7","pvoff":"","pageSize":"100","page":"0","elemtid":"1","refpid":"mm_26632258_3504122_32538762","pid":"430673_1006","featureNames":"spGoldMedal,dsrDescribe,dsrDescribeGap,dsrService,dsrServiceGap,dsrDeliver, dsrDeliverGap","ac":"w9x7FaK+sywCAXZxAYrp1Abf","wangwangid":"qq2757189408","catId":""})
2 //计算结果
3 730b9faf873a581477639ebba0397e5c
可以看到是和淘宝官方的是一样的了
源代码
1 function sign(tooken,time,appKey,d){
2 function a(e){function t(e,t){return e<<t|e>>>32-t}
3 function r(e,t){var r,n,o,a,i;return o=2147483648&e,a=2147483648&t,r=1073741824&e,n=1073741824&t,i=(1073741823&e)+(1073741823&t),r&n?2147483648^i^o^a:r|n?1073741824&i?3221225472^i^o^a:1073741824^i^o^a:i^o^a}
4 function n(e,t,r){return e&t|~e&r}
5 function o(e,t,r){return e&r|t&~r}
6 function a(e,t,r){return e^t^r}
7 function i(e,t,r){return t^(e|~r)}
8 function u(e,o,a,i,u,s,l){return e=r(e,r(r(n(o,a,i),u),l)),r(t(e,s),o)}
9 function s(e,n,a,i,u,s,l){return e=r(e,r(r(o(n,a,i),u),l)),r(t(e,s),n)}
10 function l(e,n,o,i,u,s,l){return e=r(e,r(r(a(n,o,i),u),l)),r(t(e,s),n)}
11 function c(e,n,o,a,u,s,l){return e=r(e,r(r(i(n,o,a),u),l)),r(t(e,s),n)}
12 function f(e){var t='',r='',n,o;for(o=0;o<=3;o++)n=e>>>8*o&255,r='0'+n.toString(16),t+=r.substr(r.length-2,2);return t}
13 var d=[],p,h,g,A,_,m,v,y,b,S=7,x=12,E=17,w=22,O=5,R=9,D=14,C=20,T=4,P=11,I=16,M=23,k=6,N=10,j=15,q=21;for(e=function(e){e=e.replace(/\r\n/g,'\n');for(var t='',r=0;r<e.length;r++){var n=e.charCodeAt(r);n<128?t+=String.fromCharCode(n):n>127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}
14 return t}(e),d=function(e){for(var t,r=e.length,n=r+8,o=16*((n-n%64)/64+1),a=new Array(o-1),i=0,u=0;u<r;)t=(u-u%4)/4,i=u%4*8,a[t]=a[t]|e.charCodeAt(u)<<i,u++;return t=(u-u%4)/4,i=u%4*8,a[t]=a[t]|128<<i,a[o-2]=r<<3,a[o-1]=r>>>29,a}(e),m=1732584193,v=4023233417,y=2562383102,b=271733878,p=0;p<d.length;p+=16)h=m,g=v,A=y,_=b,m=u(m,v,y,b,d[p+0],7,3614090360),b=u(b,m,v,y,d[p+1],12,3905402710),y=u(y,b,m,v,d[p+2],17,606105819),v=u(v,y,b,m,d[p+3],22,3250441966),m=u(m,v,y,b,d[p+4],7,4118548399),b=u(b,m,v,y,d[p+5],12,1200080426),y=u(y,b,m,v,d[p+6],17,2821735955),v=u(v,y,b,m,d[p+7],22,4249261313),m=u(m,v,y,b,d[p+8],7,1770035416),b=u(b,m,v,y,d[p+9],12,2336552879),y=u(y,b,m,v,d[p+10],17,4294925233),v=u(v,y,b,m,d[p+11],22,2304563134),m=u(m,v,y,b,d[p+12],7,1804603682),b=u(b,m,v,y,d[p+13],12,4254626195),y=u(y,b,m,v,d[p+14],17,2792965006),v=u(v,y,b,m,d[p+15],22,1236535329),m=s(m,v,y,b,d[p+1],5,4129170786),b=s(b,m,v,y,d[p+6],9,3225465664),y=s(y,b,m,v,d[p+11],14,643717713),v=s(v,y,b,m,d[p+0],20,3921069994),m=s(m,v,y,b,d[p+5],5,3593408605),b=s(b,m,v,y,d[p+10],9,38016083),y=s(y,b,m,v,d[p+15],14,3634488961),v=s(v,y,b,m,d[p+4],20,3889429448),m=s(m,v,y,b,d[p+9],5,568446438),b=s(b,m,v,y,d[p+14],9,3275163606),y=s(y,b,m,v,d[p+3],14,4107603335),v=s(v,y,b,m,d[p+8],20,1163531501),m=s(m,v,y,b,d[p+13],5,2850285829),b=s(b,m,v,y,d[p+2],9,4243563512),y=s(y,b,m,v,d[p+7],14,1735328473),v=s(v,y,b,m,d[p+12],20,2368359562),m=l(m,v,y,b,d[p+5],4,4294588738),b=l(b,m,v,y,d[p+8],11,2272392833),y=l(y,b,m,v,d[p+11],16,1839030562),v=l(v,y,b,m,d[p+14],23,4259657740),m=l(m,v,y,b,d[p+1],4,2763975236),b=l(b,m,v,y,d[p+4],11,1272893353),y=l(y,b,m,v,d[p+7],16,4139469664),v=l(v,y,b,m,d[p+10],23,3200236656),m=l(m,v,y,b,d[p+13],4,681279174),b=l(b,m,v,y,d[p+0],11,3936430074),y=l(y,b,m,v,d[p+3],16,3572445317),v=l(v,y,b,m,d[p+6],23,76029189),m=l(m,v,y,b,d[p+9],4,3654602809),b=l(b,m,v,y,d[p+12],11,3873151461),y=l(y,b,m,v,d[p+15],16,530742520),v=l(v,y,b,m,d[p+2],23,3299628645),m=c(m,v,y,b,d[p+0],6,4096336452),b=c(b,m,v,y,d[p+7],10,1126891415),y=c(y,b,m,v,d[p+14],15,2878612391),v=c(v,y,b,m,d[p+5],21,4237533241),m=c(m,v,y,b,d[p+12],6,1700485571),b=c(b,m,v,y,d[p+3],10,2399980690),y=c(y,b,m,v,d[p+10],15,4293915773),v=c(v,y,b,m,d[p+1],21,2240044497),m=c(m,v,y,b,d[p+8],6,1873313359),b=c(b,m,v,y,d[p+15],10,4264355552),y=c(y,b,m,v,d[p+6],15,2734768916),v=c(v,y,b,m,d[p+13],21,1309151649),m=c(m,v,y,b,d[p+4],6,4149444226),b=c(b,m,v,y,d[p+11],10,3174756917),y=c(y,b,m,v,d[p+2],15,718787259),v=c(v,y,b,m,d[p+9],21,3951481745),m=r(m,h),v=r(v,g),y=r(y,A),b=r(b,_);return(f(m)+f(v)+f(y)+f(b)).toLowerCase()}
15 return a(tooken+'&'+time+'&'+appKey+'&'+JSON.stringify(d));
16 }
淘宝sign算法和使用教程的更多相关文章
- python爬虫-淘宝商品密码(图文教程附源码)
今天闲着没事,不想像书上介绍的那样,我相信所有的数据都是有规律可以寻找的,然后去分析了一下淘宝的商品数据的规律和加密方式,用了最简单的知识去解析了需要的数据. 这个也让我学到了,解决问题的方法不止一个 ...
- 【python】抄写爬淘宝已买到的宝贝的代码
教程地址:http://cuiqingcai.com/1076.html 这一篇掌握的不好.虽然代码可以跑,但是里面的很多东西都一知半解.需要有空的时候系统整理. 原代码中的正则表达式已经失效了,我自 ...
- Python爬虫实战五之模拟登录淘宝并获取所有订单
经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 温馨提示 更新时间,2016-02-01,现在淘宝换成了滑块验证了 ...
- Python 爬虫实战5 模拟登录淘宝并获取所有订单
经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 本篇内容 python模拟登录淘宝网页 获取登录用户的所有订单详情 ...
- 【转】淘宝技术牛p博客整理
转自:http://blog.csdn.NET/zdp072/article/details/19574793 淘宝技术委员会是由淘宝技术部高级技术人员组成的一个组织,共分为Java分会.C/C++分 ...
- 淘宝的sign参数js逆向
前言:现在网站都有很强的反爬机制,都是非常常见的是用js前端加密参数,所以不得不去分析和逆向js混淆后的代码 一. 打开天猫或淘宝,shift+ctrl+F12全局搜索sign参数. 这里发现很多地方 ...
- 职业卖家淘宝美工教程,掌握技能无师自通 学到的不只是PS(共81节)附素材【无水印版】
职业卖家淘宝美工教程,掌握技能无师自通 学到的不只是PS(共81节)附素材[无水印版]设计传说出品的专业课程是我们资深培训讲师精心录制的,只有视频教程和常用必备的插件,其他绝不掺和,如果你是职业卖家, ...
- 淘宝SKU组合查询算法实现
淘宝SKU组合查询算法实现 2015-11-14 16:18 1140人阅读 评论(0) 收藏 举报 分类: JavaScript(14) 目录(?)[+] 前端有多少事情可以做,能做到多 ...
- 淘宝PHPSDK2.0 剔除 lotusphp框架---兄弟连教程
淘宝PHPSDK2.0 剔除 lotusphp框架---兄弟连教程. lotusphp是一个国产开源的php框架 由于有个朋友公司是做淘宝客的,还由于不少朋友在开淘宝,于是有必要研究下.尽管个人认为微 ...
- 淘宝Tengine 2.1.2 稳定版(nginx/1.6.2) Centos 6.5安装教程
淘宝Tengine 2.1.2 稳定版(nginx/1.6.2) Centos 6.5 安装教程 Tengine 简介: Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大 ...
随机推荐
- 【进阶篇】Redis实战之Jedis使用技巧详解
一.摘要 在上一篇文章中,我们详细的介绍了 redis 的安装和常见的操作命令,以及可视化工具的介绍. 刚知道服务端的操作知识,还是远远不够的,如果想要真正在项目中得到应用,我们还需要一个 redis ...
- GitHub车牌检测识别项目调研
一,EasyOCR 1.1,仓库介绍 1.2,使用记录 二,HyperLPR 2.1,HyperLPR 概述 2.3,使用记录 2.3,使用建议 三,simple-car-plate-recognit ...
- 使用小黄鸟(HttpCanary)+模拟器(VMOS Pro)对手机APP进行抓包
最近接触app开发,苦于app端不能像网页端可以F12看请求信息,对于后端来说当接口出现异常却不能拿到请求参数是很苦恼的, 因为之前了解过逍遥模拟器,先使用了模拟器对appj进行抓包,但发现这一款ap ...
- Hugging Face - 推理(Inference)解决方案
每天,开发人员和组织都在使用 Hugging Face 平台上托管的模型,将想法变成概念验证(proof-of-concept)的 demo,再将 demo 变成生产级的应用. Transformer ...
- Java基础学习笔记-流程控制
Java程序结构 顺序结构 分支选择结构 循环结构 顺序结构 分支选择结构 if-else Switch case Switch case 注意点 要配合break,要不就会一直往下走 case 值必 ...
- Java实现BP神经网络MNIST手写数字识别
Java实现BP神经网络MNIST手写数字识别 如果需要源码,请在下方评论区留下邮箱,我看到就会发过去 一.神经网络的构建 (1):构建神经网络层次结构 由训练集数据可知,手写输入的数据维数为784维 ...
- django框架之drf:2、restful规范,序列、反序列化,drf安装及使用(django原生接口及drf接口编写)
Django之drf 一.restful规范 1.概念 REST全称是Representational State Transfer,中文意思是表述:表征性状态转移,它首次出现在2000年Roy ...
- 读Java8函数式编程笔记07_设计和架构的原则
1. SOLID原则 1.1. 开发良好面向对象程序的准则 1.2. Liskov substitution里氏替换 1.3. Interface segregation接口隔离 1.4. Singl ...
- redis使用bitmap实现签到
import redis import datetime import calendar r = redis.Redis( host="127.0.0.1", port=637 ...
- MySQL-多表查询的两种方法、Navicat、python操作MySQL
1.多表查询的两种方法 1.连表操作: 1.1:inner join:内连接,将两张表共同的部分连接起来生成一张新表.拼接顺序是把后面的表拼在前面的表,如果颠倒位置结果不同. select * fro ...