前言

最新写的淘宝热卖插件系列里面有涉及到淘宝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 }

原文地址:http://blog.1zyan.cn/981.html

淘宝sign算法和使用教程的更多相关文章

  1. python爬虫-淘宝商品密码(图文教程附源码)

    今天闲着没事,不想像书上介绍的那样,我相信所有的数据都是有规律可以寻找的,然后去分析了一下淘宝的商品数据的规律和加密方式,用了最简单的知识去解析了需要的数据. 这个也让我学到了,解决问题的方法不止一个 ...

  2. 【python】抄写爬淘宝已买到的宝贝的代码

    教程地址:http://cuiqingcai.com/1076.html 这一篇掌握的不好.虽然代码可以跑,但是里面的很多东西都一知半解.需要有空的时候系统整理. 原代码中的正则表达式已经失效了,我自 ...

  3. Python爬虫实战五之模拟登录淘宝并获取所有订单

    经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 温馨提示 更新时间,2016-02-01,现在淘宝换成了滑块验证了 ...

  4. Python 爬虫实战5 模拟登录淘宝并获取所有订单

    经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 本篇内容 python模拟登录淘宝网页 获取登录用户的所有订单详情 ...

  5. 【转】淘宝技术牛p博客整理

    转自:http://blog.csdn.NET/zdp072/article/details/19574793 淘宝技术委员会是由淘宝技术部高级技术人员组成的一个组织,共分为Java分会.C/C++分 ...

  6. 淘宝的sign参数js逆向

    前言:现在网站都有很强的反爬机制,都是非常常见的是用js前端加密参数,所以不得不去分析和逆向js混淆后的代码 一. 打开天猫或淘宝,shift+ctrl+F12全局搜索sign参数. 这里发现很多地方 ...

  7. 职业卖家淘宝美工教程,掌握技能无师自通 学到的不只是PS(共81节)附素材【无水印版】

    职业卖家淘宝美工教程,掌握技能无师自通 学到的不只是PS(共81节)附素材[无水印版]设计传说出品的专业课程是我们资深培训讲师精心录制的,只有视频教程和常用必备的插件,其他绝不掺和,如果你是职业卖家, ...

  8. 淘宝SKU组合查询算法实现

    淘宝SKU组合查询算法实现 2015-11-14 16:18 1140人阅读 评论(0) 收藏 举报  分类: JavaScript(14)    目录(?)[+]   前端有多少事情可以做,能做到多 ...

  9. 淘宝PHPSDK2.0 剔除 lotusphp框架---兄弟连教程

    淘宝PHPSDK2.0 剔除 lotusphp框架---兄弟连教程. lotusphp是一个国产开源的php框架 由于有个朋友公司是做淘宝客的,还由于不少朋友在开淘宝,于是有必要研究下.尽管个人认为微 ...

  10. 淘宝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的基础上,针对大 ...

随机推荐

  1. gitee删除上传到的远程分支的提交记录

    在实际开发中可能也经常会遇到写完代码后提交到远程分支但发现写的提交信息有误,不符合规范.由于自己的gitee账号可能没有修改提交记录的权限.因此最佳的解决方法是,撤销本地分支当前的提交记录,将代码回滚 ...

  2. 传播问卷调查数据不够?自己生成假数据!Python编程一对一教学

    问卷调查 Excel 样式 原文件下载 生成代码 序号 直接 range 生成即可. 提交答卷时间 import time time_str = time.strftime('%Y/%m/%d %H: ...

  3. 代码小DEMO随笔---JS原生手机版本alert弹框

    之前的随笔写的是WEB版本的弹框,这次是手机版本,欢迎路过的大佬们提出更好的写法~~ <!DOCTYPE html> <html lang="en"> &l ...

  4. flutter 底部滑动导航,页面滑动同时让底部导航跟着变动,除了点击还可以滑动哦~~

    实现点击以及滑动都可以切换导航的效果 核心代码 完整代码 // 输入 imrm 快速生成下面 import 'package:flutter/material.dart'; import 'Home. ...

  5. 解决angular11打包报错Type 'Event' is missing the following properties from type 'any[]': ...Type 'Event' is not assignable to type 'string'

    出现这种情况,需要检查一下以下事项 1.ts类型声明和html里写的是否一致 1.1举例如下,子组件代码需要注意事项,子组件调用父组件方法,点击传参给父组件,在父组件触发一些时间,当前this指向是父 ...

  6. Nodejs后端自动化测试

    偶然看到收藏一下 const puppeteer = require('puppeteer'); const fs = require('fs'); (async () => { const b ...

  7. 关于Mysql外键从新学习

    关于Mysql外键从新学习 参考:https://blog.csdn.net/u010373419/article/details/9321331 说实话,这是一个抄剩饭的文档. 为什么会从新学习外键 ...

  8. Mybatis获取插入值的ID

    需求: 在后台做多次插入的时候,需要使用返回ID,然而普通的操作是无法做到的 Mybatis可以在insert的标签 上加上 keyProperty='id' useGeneratedKeys=&qu ...

  9. Idea 2022 springboot 3.0 druid: testWhileIdle is true, validationQuery not set

    druid启动错误解决方法: Druid连接池 :严重: testWhileIdle is true, validationQuery not set 增中配置 在 application.yml 增 ...

  10. Vue06 数据绑定

    1 Vue模板语法 Vue模板语法分为两大类,插值语法和指令语法 1.1 插值语法 1)功能:用于解析标签体内容 2)写法:{{xxx}} xxx是js表达式,且可以直接读取到vue实例里面的属性 3 ...