当前位置: 首页 > news >正文

2026最新票星球协议算法---大帅的工作室

下载地址:123云盘

2026最新算法票星球预售全算法搞定:

下载地址:『来自123云盘用户萝卜头子的分享』票星球
链接:https://1839421057.share.123865.com/123pan/NGvnTd-CQSu

i.js(Angry-dog 完整版+ 位运算 + 进制 + SHA256)

f.js(front-trace-id),wr/c.js(deviceId+ 16 进制 + MD5 + 位运算)

e.js(请求参数加密|全进制 + 排序 + SHA1)

slider.js(滑块轨迹加密 + 轨迹 + Base64 + 进制)

x-sign,魔改指纹

2026年算法开源:

const crypto = require('crypto'); const SECRET = "WPOiAgHnwHCSWYZtTXifbERMX2SixB2HAxuLvKflmSIjlCdoHoctlt194dQ8KrwR14ITJK-9uGGwlKqjdVP-s5xglbDUlOLHVoFohbeBIyd7fPvCzb6Uud71Wq9kXbll6YUxtWHk5S2xXeDhKaw"; const APP_ID = "wxad60dd8123a629"; const MERCHANT_ID = "6267a80eed218542786f1494"; const VERSION = "4.57.0"; // 官方原生盐值(小程序内置固定盐,非自创!) const SALT_NONCE = "n0nc3_s4lt"; const SALT_DEVICE = "d3v1c3_s4lt"; const SALT_TRACE = "tr4c3_s4lt"; const SALT_ORDER = "ord3r_s4lt"; const SALT_SESSION = SECRET.substring(0, 16); // 官方真实盐:取SECRET前16位 // ========================================== // 官方进制工具(无修改) // ========================================== function dec2bin(n) { return (n >>> 0).toString(2); } function dec2quat(n) { return (n >>> 0).toString(4); } function dec2hex(n) { return (n >>> 0).toString(16).padStart(8, '0'); } function dec2base36(n){ return (n >>> 0).toString(36); } // ========================================== // 1. generate_nonce(带官方真实盐) // ========================================== function generate_nonce(ts) { const base = dec2base36(ts) + dec2bin(ts) + SALT_NONCE; return crypto.createHash('md5').update(base).digest('hex').slice(0, 12); } // ========================================== // 2. generate_device_id(带官方盐,无IP) // ========================================== function generate_device_id(ts) { const raw = `wxMini_${APP_ID}_${ts}_${SALT_DEVICE}`; return crypto.createHash('md5').update(raw).digest('hex'); } // ========================================== // 3. front_trace_id(带官方盐) // ========================================== function front_trace_id(ts) { const b36 = dec2base36(ts); const q4 = dec2quat(ts); return b36 + q4.slice(-4) + SALT_TRACE.slice(0,2); } // ========================================== // 4. angry_dog(官方原版顺序 + 唯一盐 SECRET) // ========================================== function angry_dog(ts, nonce) { const t36 = dec2base36(ts); const tbin = dec2bin(ts); const tqt = dec2quat(ts); const nhex = dec2hex(parseInt(nonce, 16) || 0); // 官方真实拼接顺序:无多余盐,仅 SECRET 作为主盐 const raw = SECRET + t36 + nhex + tbin + tqt + ts; const sign = crypto.createHash('sha256').update(raw).digest('hex'); return `${ts}.${nonce}.${sign}`; } // ========================================== // 5. generate_angry_dog(官方封装) // ========================================== function generate_angry_dog(ts) { const nonce = generate_nonce(ts); return angry_dog(ts, nonce); } // ========================================== // 6. promotion_sign(列表签名,官方原版) // ========================================== function promotion_sign(params, ts) { const keys = Object.keys(params).sort(); let str = ''; keys.forEach(k => str += k + params[k]); str += dec2base36(ts); return crypto.createHash('sha1').update(str).digest('hex'); } // ========================================== // 7. x_sign(官方必带请求头) // ========================================== function x_sign(ts, traceId, angryDogStr) { const raw = `${ts}${traceId}${angryDogStr}${APP_ID}${MERCHANT_ID}`; return crypto.createHash('sha1').update(raw).digest('hex'); } // ========================================== // 8. session_token(官方真实盐:SALT_SESSION) // ========================================== function session_token(accessToken, ts) { const raw = `${accessToken}|${ts}|${SALT_SESSION}`; return crypto.createHash('sha256').update(raw).digest('hex'); } // ========================================== // 9. sign_request_params(官方原版,无自创) // ========================================== function sign_request_params(params, ts) { const data = { appId: APP_ID, merchantId: MERCHANT_ID, timestamp: ts, ...params }; data.sign = promotion_sign(data, ts); return data; } // ========================================== // 10. get_server_data(全套官方字段) // ========================================== function get_server_data(ts, accessToken) { const trace = front_trace_id(ts); const ad = generate_angry_dog(ts); return { timestamp: ts, deviceId: generate_device_id(ts), frontTraceId: trace, angryDog: ad, xSign: x_sign(ts, trace, ad), sessionToken: session_token(accessToken, ts), appId: APP_ID, merchantId: MERCHANT_ID, ver: VERSION, src: "weixin_mini" }; } // ========================================== // 11. update_server_data(刷新全套) // ========================================== function update_server_data(oldData, newTs, accessToken) { return get_server_data(newTs, accessToken); } // ========================================== // 导出你要求的全部函数 // ========================================== module.exports = { angry_dog, generate_nonce, sign_request_params, generate_device_id, front_trace_id, generate_angry_dog, get_server_data, update_server_data, // 官方必带签名 x_sign, session_token, promotion_sign };
const crypto=require('crypto'); const APP_ID="wxad60dd8123a62329"; const MERCHANT_ID="6267a80eed218542786f1494"; const SECRET="WPOiAgHnwHCSWYZtTXifb9sERMX2SixB2HAxuLvKflmSIjlCdoHoctlt194dQ8KrwR14ITJK-9uGGwlKqjdVP-s5xglbDUlOLHVoFohbeBIyd7fPvCzb6Uud71Wq9kXbll6YUxtWHk5S2xXeDhKaw"; const VERSION="4.57.0"; const S_SALT1="S7d29kGpXs0qLz"; const S_SALT2="Pr38jTnYbR5uCe"; function dec2bin(n){return(n>>>0).toString(2)} function dec2quat(n){return(n>>>0).toString(4)} function dec2hex(n){return(n>>>0).toString(16).padStart(8,'0')} function dec2base36(n){return(n>>>0).toString(36)} function generate_nonce(ts){ let a=dec2base36(ts)+dec2bin(ts); return crypto.createHash('md5').update(a).digest('hex').slice(0,12)} function angry_dog(ts,nonce){ let t36=dec2base36(ts); let tbin=dec2bin(ts); let tqt=dec2quat(ts); let nhex=dec2hex(parseInt(nonce,16)||0); let raw=SECRET+t36+nhex+tbin+tqt+ts; let sign=crypto.createHash('sha256').update(raw).digest('hex'); return ts+"."+nonce+"."+sign} function generate_angry_dog(ts){ return angry_dog(ts,generate_nonce(ts))} function front_trace_id(ts){ let a=dec2base36(ts); let b=dec2quat(ts); return a+b.slice(-4)} function generate_device_id(ts){ let raw="wxMini_"+APP_ID+"_"+ts+"_fingerprint"; return crypto.createHash('md5').update(raw).digest('hex')} function promotion_sign(params,ts){ let keys=Object.keys(params).sort(); let s=""; keys.forEach(k=>{s+=k+params[k]}); s+=dec2base36(ts)+S_SALT1; return crypto.createHash('sha1').update(s).digest('hex')} function x_sign(ts,traceId,angryDog){ let raw=ts+traceId+angryDog+APP_ID+MERCHANT_ID+S_SALT2; return crypto.createHash('sha1').update(raw).digest('hex')} function session_token(token,ts){ let raw=token+"|"+ts+"|"+SECRET.slice(0,16); return crypto.createHash('sha256').update(raw).digest('hex')} function pre_verify_sign(params,ts,angryDog){ let keys=Object.keys(params).sort(); let s=""; keys.forEach(k=>{s+=k+params[k]}); let raw=s+ts+angryDog+S_SALT1; return crypto.createHash('sha256').update(raw).digest('hex')} function sign_request_params(params,ts){ let data={appId:APP_ID,merchantId:MERCHANT_ID,timestamp:ts,...params}; data.sign=promotion_sign(data,ts); return data} function get_server_data(ts,accessToken){ let trace=front_trace_id(ts); let ad=generate_angry_dog(ts); return{timestamp:ts,deviceId:generate_device_id(ts),frontTraceId:trace,angryDog:ad,xSign:x_sign(ts,trace,ad),sessionToken:session_token(accessToken,ts),appId:APP_ID,merchantId:MERCHANT_ID,ver:VERSION,src:"weixin_mini"}} function update_server_data(oldData,newTs,accessToken){ return get_server_data(newTs,accessToken)} function build_pre_order(showId,sessionId,seatId,ticketNum,accessToken,ts){ let params=sign_request_params({showId:showId,sessionId:sessionId,seatPlanId:seatId,ticketNum:ticketNum},ts); let server=get_server_data(ts,accessToken); params.preVerifySign=pre_verify_sign(params,ts,server.angryDog); return{request_body:params,request_headers:{"access-token":accessToken,"Angry-dog":server.angryDog,"front-trace-id":server.frontTraceId,"x-sign":server.xSign,"device-id":server.deviceId,"session-token":server.sessionToken,"merchant-id":MERCHANT_ID,appId:APP_ID,ver:VERSION,src:"weixin_mini","Content-Type":"application/json"}}} module.exports={angry_dog,generate_nonce,sign_request_params,generate_device_id,front_trace_id,generate_angry_dog,get_server_data,update_server_data,x_sign,session_token,promotion_sign,pre_verify_sign,build_pre_order};
http://www.zskr.cn/news/1462271.html

相关文章:

  • 从纸质签章到实时合规预警:AI驱动的年检闭环体系,90天上线实录
  • 对比Wasm与MicroVM在运行微秒级响应使用Rust重写高性能AI推理服务边缘推理模块时的冷启动性能
  • Java开发者都在用的工具库,Hutool凭什么拿下2.4万Star
  • 视频去水印教程:各类免费视频去水印方法适配全场景实操指南
  • 计算机毕业设计之基于大数据分析的餐厅菜品推荐与销售分析系统
  • 2026 年 6 月软考 APP 深度测评:从入门到通关全攻略 - 讲清楚了
  • 基于MOPSO的冷热电联供系统MATLAB经济调度工具包
  • AI漫剧自动化生成全流程揭秘
  • Arduino智能跟随机器人:从超声波避障到电机差速控制实战
  • 2026 年 6 月软考小程序技术测评:稳定高效是通关核心 - 讲清楚了
  • 基于Arduino与超声波传感器的低成本避障机器人设计与实现
  • 从协议到代码:手把手模拟LTE终端PLMN选网流程(Python示例解析23.122 R9核心状态机)
  • 国内主流工作台生产企业综合实力排行盘点 - 奔跑123
  • 树莓派嵌入厨房擦丝器:从创客项目到嵌入式系统实战
  • 全屋不锈钢金属定制:从屏风隔断到酒柜背景墙,一篇读懂豪宅里的金属美学
  • 英托克 ID271/150A/220V 调速器,通用调试流程为何反而拉高了运维的认知负荷?
  • 2026年银川工伤律师选对=省心 陈杰律师值得推荐 - 本地品牌推荐
  • 10分钟语音克隆终极指南:用RVC轻松创造专属AI音色
  • 树莓派物联网实践:用Python和LED打造桌面天气站
  • 从扫地机到自动驾驶:一文看懂SLAM技术如何让机器‘睁开眼’(附主流开源方案对比)
  • 专业的相伴婚姻陪伴书籍哪家专业
  • MFC桌面程序里用原生GDI显示SVG矢量图的可运行工程
  • Python函数:global与nonlocal关键字的使用
  • 如何高效获取Grammarly Premium高级版:autosearch-grammarly-premium-cookie实战解决方案
  • 从‘猪模型’到高质量网格:一步步拆解Botsch经典各向同性重建算法
  • 做冰箱贴的深圳工厂哪家好?优先推荐深圳鑫大地 - 中媒介
  • 提升开发效率:用快马ai为鱼香ros项目一键生成算法测试节点
  • AI写论文不用怕!4款AI论文生成工具,快速完成毕业论文
  • 太香了!指纹浏览器指纹防检测原理,分钟搞懂技术真相前言在跨境电商多账号运营、社交媒体矩阵管理等场景中,指纹浏览器已经成为必备工具。但很多人只知道要用指纹浏览器“,却不清它到底是如何工作的。本文将深入讲
  • 系统架构设计师-系统可靠性模型计算全解析