淘宝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的基础上,针对大 ...
随机推荐
- 【转载】SQL Server FileStream 体验
FileStream是SQL Server 2008提供的新特性,之前附件在SQL的存储一种是直接放数据库,一种是存储一个路径,附件单独放在磁盘上.前一种方法会使数据库空间更快变大,而且读写占用较多数 ...
- 深入理解 Linux 物理内存分配全链路实现
前文回顾 在上篇文章 <深入理解 Linux 物理内存管理>中,笔者详细的为大家介绍了 Linux 内核如何对物理内存进行管理以及相关的一些内核数据结构. 在介绍物理内存管理之前,笔者先从 ...
- [常用工具] shell脚本快速入门笔记
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 脚本(shell script),是一种为 shell 编写的脚本程序.业界所说的 shell 通常都是指 sh ...
- CentOS7升级Linux内核
CentOS7升级Linux内核 什么是Linux内核 虽然时候使用 Linux 来表示整个操作系统,严格地说,Linux 只是个内核,而发行版的操作系统是一个完整功能的系统,它建立在内核之上,具有各 ...
- Windowsのcmd命令
Windowsのcmd命令 网络操作: ipconfig命令: ipconfig -all 查看网络信息 ipconfig -release 释放ip/tcp ipconfig -renew 重新获取 ...
- 数据结构——八大排序算法(java部分实现)
java基本排序算法 1.冒泡排序 顶顶基础的排序算法之一,每次排序通过两两比较选出最小值(之后每个算法都以从小到大排序举例)图片取自:[小不点的博客](Java的几种常见排序算法 - 小不点丶 - ...
- Markdown最基础语法内容
基础常用语法(大多符号后都要跟一个空格) 一.标题 1.使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推. #不要漏了符号和内容之间的空格 一级标题 # ...
- 深入Typescript--01-使用roolup编译Typescript
Typescript是什么? TypeScript是Javascript的超集,遵循最新的ES5/ES6规范.Typescript扩展了Javascript语法. 为什么要用Typescript? 1 ...
- Python开发的常用组件
1. 生成6位数字随机验证码 import random import string def num_code(length=6): """ 生成长度为length的数字 ...
- 【新晋开源项目】内网穿透神器[中微子代理] 加入 Dromara 开源社区
1.关于作者 dromara开源组织成员,dromara/neutrino-proxy项目作者 名称:傲世孤尘.雨韵诗泽 名言: 扎根土壤,心向太阳.积蓄能量,绽放微光. 拘浊酒邀明月,借赤日暖苍穹. ...