营销神器

 找回密码
 快速注册

QQ登录

只需一步,快速开始

(新版免费无功能限制)营销神器2024版帮助文档已更新到 docs.wzdr.cn 点击进入查阅!非常详细!
12下一页
返回列表
查看: 5747|回复: 19

[规则扩展] 五八同城登录js加密

[复制链接]
最佳答案
9 

435

回帖

85

好评

7525

达人币

用户组:VIP终身会员

答疑团队LV10

VIP赞助会员乐于助人论坛讲师兔年幸运勋章规则开发者忠实粉丝勤学向上春节勋章

发表于 2019-5-6 14:19:42 | 显示全部楼层 |阅读模式
拖动规则到软件首页'列表框'即可快速加载,VIP可免费下载管理员发布的规则。
免责声明:规则仅供学习参考,提高工作效率。请勿发布低俗、违法内容!
最新版规:7天之内,禁止分享重复规则,否则直接删除并扣分!
最新版规:禁止上传含低俗文字截图(如找小jie、bao养等),请涂抹敏感文字!
分享规则必须有软件截图和案例截图,否则会被扣分或版主删除!
每个规则,都可能因网站改版而失效,请重新抓包对比更新!
建议联系作者确定是否有效,再购买! 
规则
规则类型: 登录规则
更新时间: 2019-05-06
编写作者: 石头布
编写版本: 2
是否有码: 骑兵 (有验证码)
演示网址: https://passport.58.com/login/
规则简介:
是否更新:
三天无效退还:
是否开源: 开源
规则使用说明: 加密算法
规则用途: 此帖内容仅供POST技术学习研究之用,不得用于商业或者非法用途,否则,一切后果请用户自负。请下载研究后24小时内从您的电脑中彻底删除。 
  1. window = {};
  2. (function($w) {
  3.     if (typeof $w.RSAUtils === 'undefined') var RSAUtils = $w.RSAUtils = {};
  4.     var biRadixBase = 2;
  5.     var biRadixBits = 16;
  6.     var bitsPerDigit = biRadixBits;
  7.     var biRadix = 1 << 16;
  8.     var biHalfRadix = biRadix >>> 1;
  9.     var biRadixSquared = biRadix * biRadix;
  10.     var maxDigitVal = biRadix - 1;
  11.     var maxInteger = 9999999999999998;
  12.     var maxDigits;
  13.     var ZERO_ARRAY;
  14.     var bigZero, bigOne;
  15.     var BigInt = $w.BigInt = function(flag) {
  16.         if (typeof flag == "boolean" && flag == true) {
  17.             this.digits = null
  18.         } else {
  19.             this.digits = ZERO_ARRAY.slice(0)
  20.         }
  21.         this.isNeg = false
  22.     };
  23.     RSAUtils.setMaxDigits = function(value) {
  24.         maxDigits = value;
  25.         ZERO_ARRAY = new Array(maxDigits);
  26.         for (var iza = 0; iza < ZERO_ARRAY.length; iza++)
  27.         ZERO_ARRAY[iza] = 0;
  28.         bigZero = new BigInt();
  29.         bigOne = new BigInt();
  30.         bigOne.digits[0] = 1
  31.     };
  32.     RSAUtils.setMaxDigits(20);
  33.     var dpl10 = 15;
  34.     RSAUtils.biFromNumber = function(i) {
  35.         var result = new BigInt();
  36.         result.isNeg = i < 0;
  37.         i = Math.abs(i);
  38.         var j = 0;
  39.         while (i > 0) {
  40.             result.digits[j++] = i & maxDigitVal;
  41.             i = Math.floor(i / biRadix)
  42.         }
  43.         return result
  44.     };
  45.     var lr10 = RSAUtils.biFromNumber(1000000000000000);
  46.     RSAUtils.biFromDecimal = function(s) {
  47.         var isNeg = s.charAt(0) == '-';
  48.         var i = isNeg ? 1 : 0;
  49.         var result;
  50.         while (i < s.length && s.charAt(i) == '0')++i;
  51.         if (i == s.length) {
  52.             result = new BigInt()
  53.         } else {
  54.             var digitCount = s.length - i;
  55.             var fgl = digitCount % dpl10;
  56.             if (fgl == 0) fgl = dpl10;
  57.             result = RSAUtils.biFromNumber(Number(s.substr(i, fgl)));
  58.             i += fgl;
  59.             while (i < s.length) {
  60.                 result = RSAUtils.biAdd(RSAUtils.biMultiply(result, lr10), RSAUtils.biFromNumber(Number(s.substr(i, dpl10))));
  61.                 i += dpl10
  62.             }
  63.             result.isNeg = isNeg
  64.         }
  65.         return result
  66.     };
  67.     RSAUtils.biCopy = function(bi) {
  68.         var result = new BigInt(true);
  69.         result.digits = bi.digits.slice(0);
  70.         result.isNeg = bi.isNeg;
  71.         return result
  72.     };
  73.     RSAUtils.reverseStr = function(s) {
  74.         var result = "";
  75.         for (var i = s.length - 1; i > -1; --i) {
  76.             result += s.charAt(i)
  77.         }
  78.         return result
  79.     };
  80.     var hexatrigesimalToChar = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
  81.     RSAUtils.biToString = function(x, radix) {
  82.         var b = new BigInt();
  83.         b.digits[0] = radix;
  84.         var qr = RSAUtils.biDivideModulo(x, b);
  85.         var result = hexatrigesimalToChar[qr[1].digits[0]];
  86.         while (RSAUtils.biCompare(qr[0], bigZero) == 1) {
  87.             qr = RSAUtils.biDivideModulo(qr[0], b);
  88.             digit = qr[1].digits[0];
  89.             result += hexatrigesimalToChar[qr[1].digits[0]]
  90.         }
  91.         return (x.isNeg ? "-" : "") + RSAUtils.reverseStr(result)
  92.     };
  93.     RSAUtils.biToDecimal = function(x) {
  94.         var b = new BigInt();
  95.         b.digits[0] = 10;
  96.         var qr = RSAUtils.biDivideModulo(x, b);
  97.         var result = String(qr[1].digits[0]);
  98.         while (RSAUtils.biCompare(qr[0], bigZero) == 1) {
  99.             qr = RSAUtils.biDivideModulo(qr[0], b);
  100.             result += String(qr[1].digits[0])
  101.         }
  102.         return (x.isNeg ? "-" : "") + RSAUtils.reverseStr(result)
  103.     };
  104.     var hexToChar = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
  105.     RSAUtils.digitToHex = function(n) {
  106.         var mask = 0xf;
  107.         var result = "";
  108.         for (i = 0; i < 4; ++i) {
  109.             result += hexToChar[n & mask];
  110.             n >>>= 4
  111.         }
  112.         return RSAUtils.reverseStr(result)
  113.     };
  114.     RSAUtils.biToHex = function(x) {
  115.         var result = "";
  116.         var n = RSAUtils.biHighIndex(x);
  117.         for (var i = RSAUtils.biHighIndex(x); i > -1; --i) {
  118.             result += RSAUtils.digitToHex(x.digits[i])
  119.         }
  120.         return result
  121.     };
  122.     RSAUtils.charToHex = function(c) {
  123.         var ZERO = 48;
  124.         var NINE = ZERO + 9;
  125.         var littleA = 97;
  126.         var littleZ = littleA + 25;
  127.         var bigA = 65;
  128.         var bigZ = 65 + 25;
  129.         var result;
  130.         if (c >= ZERO && c <= NINE) {
  131.             result = c - ZERO
  132.         } else if (c >= bigA && c <= bigZ) {
  133.             result = 10 + c - bigA
  134.         } else if (c >= littleA && c <= littleZ) {
  135.             result = 10 + c - littleA
  136.         } else {
  137.             result = 0
  138.         }
  139.         return result
  140.     };
  141.     RSAUtils.hexToDigit = function(s) {
  142.         var result = 0;
  143.         var sl = Math.min(s.length, 4);
  144.         for (var i = 0; i < sl; ++i) {
  145.             result <<= 4;
  146.             result |= RSAUtils.charToHex(s.charCodeAt(i))
  147.         }
  148.         return result
  149.     };
  150.     RSAUtils.biFromHex = function(s) {
  151.         var result = new BigInt();
  152.         var sl = s.length;
  153.         for (var i = sl, j = 0; i > 0; i -= 4, ++j) {
  154.             result.digits[j] = RSAUtils.hexToDigit(s.substr(Math.max(i - 4, 0), Math.min(i, 4)))
  155.         }
  156.         return result
  157.     };
  158.     RSAUtils.biFromString = function(s, radix) {
  159.         var isNeg = s.charAt(0) == '-';
  160.         var istop = isNeg ? 1 : 0;
  161.         var result = new BigInt();
  162.         var place = new BigInt();
  163.         place.digits[0] = 1;
  164.         for (var i = s.length - 1; i >= istop; i--) {
  165.             var c = s.charCodeAt(i);
  166.             var digit = RSAUtils.charToHex(c);
  167.             var biDigit = RSAUtils.biMultiplyDigit(place, digit);
  168.             result = RSAUtils.biAdd(result, biDigit);
  169.             place = RSAUtils.biMultiplyDigit(place, radix)
  170.         }
  171.         result.isNeg = isNeg;
  172.         return result
  173.     };
  174.     RSAUtils.biDump = function(b) {
  175.         return (b.isNeg ? "-" : "") + b.digits.join(" ")
  176.     };
  177.     RSAUtils.biAdd = function(x, y) {
  178.         var result;
  179.         if (x.isNeg != y.isNeg) {
  180.             y.isNeg = !y.isNeg;
  181.             result = RSAUtils.biSubtract(x, y);
  182.             y.isNeg = !y.isNeg
  183.         } else {
  184.             result = new BigInt();
  185.             var c = 0;
  186.             var n;
  187.             for (var i = 0; i < x.digits.length; ++i) {
  188.                 n = x.digits[i] + y.digits[i] + c;
  189.                 result.digits[i] = n % biRadix;
  190.                 c = Number(n >= biRadix)
  191.             }
  192.             result.isNeg = x.isNeg
  193.         }
  194.         return result
  195.     };
  196.     RSAUtils.biSubtract = function(x, y) {
  197.         var result;
  198.         if (x.isNeg != y.isNeg) {
  199.             y.isNeg = !y.isNeg;
  200.             result = RSAUtils.biAdd(x, y);
  201.             y.isNeg = !y.isNeg
  202.         } else {
  203.             result = new BigInt();
  204.             var n, c;
  205.             c = 0;
  206.             for (var i = 0; i < x.digits.length; ++i) {
  207.                 n = x.digits[i] - y.digits[i] + c;
  208.                 result.digits[i] = n % biRadix;
  209.                 if (result.digits[i] < 0) result.digits[i] += biRadix;
  210.                 c = 0 - Number(n < 0)
  211.             }
  212.             if (c == -1) {
  213.                 c = 0;
  214.                 for (var i = 0; i < x.digits.length; ++i) {
  215.                     n = 0 - result.digits[i] + c;
  216.                     result.digits[i] = n % biRadix;
  217.                     if (result.digits[i] < 0) result.digits[i] += biRadix;
  218.                     c = 0 - Number(n < 0)
  219.                 }
  220.                 result.isNeg = !x.isNeg
  221.             } else {
  222.                 result.isNeg = x.isNeg
  223.             }
  224.         }
  225.         return result
  226.     };
  227.     RSAUtils.biHighIndex = function(x) {
  228.         var result = x.digits.length - 1;
  229.         while (result > 0 && x.digits[result] == 0)--result;
  230.         return result
  231.     };
  232.     RSAUtils.biNumBits = function(x) {
  233.         var n = RSAUtils.biHighIndex(x);
  234.         var d = x.digits[n];
  235.         var m = (n + 1) * bitsPerDigit;
  236.         var result;
  237.         for (result = m; result > m - bitsPerDigit; --result) {
  238.             if ((d & 0x8000) != 0) break;
  239.             d <<= 1
  240.         }
  241.         return result
  242.     };
  243.     RSAUtils.biMultiply = function(x, y) {
  244.         var result = new BigInt();
  245.         var c;
  246.         var n = RSAUtils.biHighIndex(x);
  247.         var t = RSAUtils.biHighIndex(y);
  248.         var u, uv, k;
  249.         for (var i = 0; i <= t; ++i) {
  250.             c = 0;
  251.             k = i;
  252.             for (j = 0; j <= n; ++j, ++k) {
  253.                 uv = result.digits[k] + x.digits[j] * y.digits[i] + c;
  254.                 result.digits[k] = uv & maxDigitVal;
  255.                 c = uv >>> biRadixBits
  256.             }
  257.             result.digits[i + n + 1] = c
  258.         }
  259.         result.isNeg = x.isNeg != y.isNeg;
  260.         return result
  261.     };
  262.     RSAUtils.biMultiplyDigit = function(x, y) {
  263.         var n, c, uv;
  264.         result = new BigInt();
  265.         n = RSAUtils.biHighIndex(x);
  266.         c = 0;
  267.         for (var j = 0; j <= n; ++j) {
  268.             uv = result.digits[j] + x.digits[j] * y + c;
  269.             result.digits[j] = uv & maxDigitVal;
  270.             c = uv >>> biRadixBits
  271.         }
  272.         result.digits[1 + n] = c;
  273.         return result
  274.     };
  275.     RSAUtils.arrayCopy = function(src, srcStart, dest, destStart, n) {
  276.         var m = Math.min(srcStart + n, src.length);
  277.         for (var i = srcStart, j = destStart; i < m; ++i, ++j) {
  278.             dest[j] = src[i]
  279.         }
  280.     };
  281.     var highBitMasks = [0x0000, 0x8000, 0xC000, 0xE000, 0xF000, 0xF800, 0xFC00, 0xFE00, 0xFF00, 0xFF80, 0xFFC0, 0xFFE0, 0xFFF0, 0xFFF8, 0xFFFC, 0xFFFE, 0xFFFF];
  282.     RSAUtils.biShiftLeft = function(x, n) {
  283.         var digitCount = Math.floor(n / bitsPerDigit);
  284.         var result = new BigInt();
  285.         RSAUtils.arrayCopy(x.digits, 0, result.digits, digitCount, result.digits.length - digitCount);
  286.         var bits = n % bitsPerDigit;
  287.         var rightBits = bitsPerDigit - bits;
  288.         for (var i = result.digits.length - 1, i1 = i - 1; i > 0; --i, --i1) {
  289.             result.digits[i] = ((result.digits[i] << bits) & maxDigitVal) | ((result.digits[i1] & highBitMasks[bits]) >>> (rightBits))
  290.         }
  291.         result.digits[0] = ((result.digits[i] << bits) & maxDigitVal);
  292.         result.isNeg = x.isNeg;
  293.         return result
  294.     };
  295.     var lowBitMasks = [0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF];
  296.     RSAUtils.biShiftRight = function(x, n) {
  297.         var digitCount = Math.floor(n / bitsPerDigit);
  298.         var result = new BigInt();
  299.         RSAUtils.arrayCopy(x.digits, digitCount, result.digits, 0, x.digits.length - digitCount);
  300.         var bits = n % bitsPerDigit;
  301.         var leftBits = bitsPerDigit - bits;
  302.         for (var i = 0, i1 = i + 1; i < result.digits.length - 1; ++i, ++i1) {
  303.             result.digits[i] = (result.digits[i] >>> bits) | ((result.digits[i1] & lowBitMasks[bits]) << leftBits)
  304.         }
  305.         result.digits[result.digits.length - 1] >>>= bits;
  306.         result.isNeg = x.isNeg;
  307.         return result
  308.     };
  309.     RSAUtils.biMultiplyByRadixPower = function(x, n) {
  310.         var result = new BigInt();
  311.         RSAUtils.arrayCopy(x.digits, 0, result.digits, n, result.digits.length - n);
  312.         return result
  313.     };
  314.     RSAUtils.biDivideByRadixPower = function(x, n) {
  315.         var result = new BigInt();
  316.         RSAUtils.arrayCopy(x.digits, n, result.digits, 0, result.digits.length - n);
  317.         return result
  318.     };
  319.     RSAUtils.biModuloByRadixPower = function(x, n) {
  320.         var result = new BigInt();
  321.         RSAUtils.arrayCopy(x.digits, 0, result.digits, 0, n);
  322.         return result
  323.     };
  324.     RSAUtils.biCompare = function(x, y) {
  325.         if (x.isNeg != y.isNeg) {
  326.             return 1 - 2 * Number(x.isNeg)
  327.         }
  328.         for (var i = x.digits.length - 1; i >= 0; --i) {
  329.             if (x.digits[i] != y.digits[i]) {
  330.                 if (x.isNeg) {
  331.                     return 1 - 2 * Number(x.digits[i] > y.digits[i])
  332.                 } else {
  333.                     return 1 - 2 * Number(x.digits[i] < y.digits[i])
  334.                 }
  335.             }
  336.         }
  337.         return 0
  338.     };
  339.     RSAUtils.biDivideModulo = function(x, y) {
  340.         var nb = RSAUtils.biNumBits(x);
  341.         var tb = RSAUtils.biNumBits(y);
  342.         var origYIsNeg = y.isNeg;
  343.         var q, r;
  344.         if (nb < tb) {
  345.             if (x.isNeg) {
  346.                 q = RSAUtils.biCopy(bigOne);
  347.                 q.isNeg = !y.isNeg;
  348.                 x.isNeg = false;
  349.                 y.isNeg = false;
  350.                 r = biSubtract(y, x);
  351.                 x.isNeg = true;
  352.                 y.isNeg = origYIsNeg
  353.             } else {
  354.                 q = new BigInt();
  355.                 r = RSAUtils.biCopy(x)
  356.             }
  357.             return [q, r]
  358.         }
  359.         q = new BigInt();
  360.         r = x;
  361.         var t = Math.ceil(tb / bitsPerDigit) - 1;
  362.         var lambda = 0;
  363.         while (y.digits[t] < biHalfRadix) {
  364.             y = RSAUtils.biShiftLeft(y, 1);
  365.             ++lambda;
  366.             ++tb;
  367.             t = Math.ceil(tb / bitsPerDigit) - 1
  368.         }
  369.         r = RSAUtils.biShiftLeft(r, lambda);
  370.         nb += lambda;
  371.         var n = Math.ceil(nb / bitsPerDigit) - 1;
  372.         var b = RSAUtils.biMultiplyByRadixPower(y, n - t);
  373.         while (RSAUtils.biCompare(r, b) != -1) {
  374.             ++q.digits[n - t];
  375.             r = RSAUtils.biSubtract(r, b)
  376.         }
  377.         for (var i = n; i > t; --i) {
  378.             var ri = (i >= r.digits.length) ? 0 : r.digits[i];
  379.             var ri1 = (i - 1 >= r.digits.length) ? 0 : r.digits[i - 1];
  380.             var ri2 = (i - 2 >= r.digits.length) ? 0 : r.digits[i - 2];
  381.             var yt = (t >= y.digits.length) ? 0 : y.digits[t];
  382.             var yt1 = (t - 1 >= y.digits.length) ? 0 : y.digits[t - 1];
  383.             if (ri == yt) {
  384.                 q.digits[i - t - 1] = maxDigitVal
  385.             } else {
  386.                 q.digits[i - t - 1] = Math.floor((ri * biRadix + ri1) / yt)
  387.             }
  388.             var c1 = q.digits[i - t - 1] * ((yt * biRadix) + yt1);
  389.             var c2 = (ri * biRadixSquared) + ((ri1 * biRadix) + ri2);
  390.             while (c1 > c2) {
  391.                 --q.digits[i - t - 1];
  392.                 c1 = q.digits[i - t - 1] * ((yt * biRadix) | yt1);
  393.                 c2 = (ri * biRadix * biRadix) + ((ri1 * biRadix) + ri2)
  394.             }
  395.             b = RSAUtils.biMultiplyByRadixPower(y, i - t - 1);
  396.             r = RSAUtils.biSubtract(r, RSAUtils.biMultiplyDigit(b, q.digits[i - t - 1]));
  397.             if (r.isNeg) {
  398.                 r = RSAUtils.biAdd(r, b);
  399.                 --q.digits[i - t - 1]
  400.             }
  401.         }
  402.         r = RSAUtils.biShiftRight(r, lambda);
  403.         q.isNeg = x.isNeg != origYIsNeg;
  404.         if (x.isNeg) {
  405.             if (origYIsNeg) {
  406.                 q = RSAUtils.biAdd(q, bigOne)
  407.             } else {
  408.                 q = RSAUtils.biSubtract(q, bigOne)
  409.             }
  410.             y = RSAUtils.biShiftRight(y, lambda);
  411.             r = RSAUtils.biSubtract(y, r)
  412.         }
  413.         if (r.digits[0] == 0 && RSAUtils.biHighIndex(r) == 0) r.isNeg = false;
  414.         return [q, r]
  415.     };
  416.     RSAUtils.biDivide = function(x, y) {
  417.         return RSAUtils.biDivideModulo(x, y)[0]
  418.     };
  419.     RSAUtils.biModulo = function(x, y) {
  420.         return RSAUtils.biDivideModulo(x, y)[1]
  421.     };
  422.     RSAUtils.biMultiplyMod = function(x, y, m) {
  423.         return RSAUtils.biModulo(RSAUtils.biMultiply(x, y), m)
  424.     };
  425.     RSAUtils.biPow = function(x, y) {
  426.         var result = bigOne;
  427.         var a = x;
  428.         while (true) {
  429.             if ((y & 1) != 0) result = RSAUtils.biMultiply(result, a);
  430.             y >>= 1;
  431.             if (y == 0) break;
  432.             a = RSAUtils.biMultiply(a, a)
  433.         }
  434.         return result
  435.     };
  436.     RSAUtils.biPowMod = function(x, y, m) {
  437.         var result = bigOne;
  438.         var a = x;
  439.         var k = y;
  440.         while (true) {
  441.             if ((k.digits[0] & 1) != 0) result = RSAUtils.biMultiplyMod(result, a, m);
  442.             k = RSAUtils.biShiftRight(k, 1);
  443.             if (k.digits[0] == 0 && RSAUtils.biHighIndex(k) == 0) break;
  444.             a = RSAUtils.biMultiplyMod(a, a, m)
  445.         }
  446.         return result
  447.     };
  448.     $w.BarrettMu = function(m) {
  449.         this.modulus = RSAUtils.biCopy(m);
  450.         this.k = RSAUtils.biHighIndex(this.modulus) + 1;
  451.         var b2k = new BigInt();
  452.         b2k.digits[2 * this.k] = 1;
  453.         this.mu = RSAUtils.biDivide(b2k, this.modulus);
  454.         this.bkplus1 = new BigInt();
  455.         this.bkplus1.digits[this.k + 1] = 1;
  456.         this.modulo = BarrettMu_modulo;
  457.         this.multiplyMod = BarrettMu_multiplyMod;
  458.         this.powMod = BarrettMu_powMod
  459.     };

  460.     function BarrettMu_modulo(x) {
  461.         var $dmath = RSAUtils;
  462.         var q1 = $dmath.biDivideByRadixPower(x, this.k - 1);
  463.         var q2 = $dmath.biMultiply(q1, this.mu);
  464.         var q3 = $dmath.biDivideByRadixPower(q2, this.k + 1);
  465.         var r1 = $dmath.biModuloByRadixPower(x, this.k + 1);
  466.         var r2term = $dmath.biMultiply(q3, this.modulus);
  467.         var r2 = $dmath.biModuloByRadixPower(r2term, this.k + 1);
  468.         var r = $dmath.biSubtract(r1, r2);
  469.         if (r.isNeg) {
  470.             r = $dmath.biAdd(r, this.bkplus1)
  471.         }
  472.         var rgtem = $dmath.biCompare(r, this.modulus) >= 0;
  473.         while (rgtem) {
  474.             r = $dmath.biSubtract(r, this.modulus);
  475.             rgtem = $dmath.biCompare(r, this.modulus) >= 0
  476.         }
  477.         return r
  478.     }

  479.     function BarrettMu_multiplyMod(x, y) {
  480.         var xy = RSAUtils.biMultiply(x, y);
  481.         return this.modulo(xy)
  482.     }

  483.     function BarrettMu_powMod(x, y) {
  484.         var result = new BigInt();
  485.         result.digits[0] = 1;
  486.         var a = x;
  487.         var k = y;
  488.         while (true) {
  489.             if ((k.digits[0] & 1) != 0) result = this.multiplyMod(result, a);
  490.             k = RSAUtils.biShiftRight(k, 1);
  491.             if (k.digits[0] == 0 && RSAUtils.biHighIndex(k) == 0) break;
  492.             a = this.multiplyMod(a, a)
  493.         }
  494.         return result
  495.     }
  496.     var RSAKeyPair = function(encryptionExponent, decryptionExponent, modulus) {
  497.         var $dmath = RSAUtils;
  498.         this.e = $dmath.biFromHex(encryptionExponent);
  499.         this.d = $dmath.biFromHex(decryptionExponent);
  500.         this.m = $dmath.biFromHex(modulus);
  501.         this.chunkSize = 2 * $dmath.biHighIndex(this.m);
  502.         this.radix = 16;
  503.         this.barrett = new $w.BarrettMu(this.m)
  504.     };
  505.     RSAUtils.getKeyPair = function(encryptionExponent, decryptionExponent, modulus) {
  506.         return new RSAKeyPair(encryptionExponent, decryptionExponent, modulus)
  507.     };
  508.     if (typeof $w.twoDigit === 'undefined') {
  509.         $w.twoDigit = function(n) {
  510.             return (n < 10 ? "0" : "") + String(n)
  511.         }
  512.     }
  513.     RSAUtils.encryptedString = function(key, s) {
  514.         var a = [];
  515.         var sl = s.length;
  516.         var i = 0;
  517.         while (i < sl) {
  518.             a[i] = s.charCodeAt(i);
  519.             i++
  520.         }
  521.         while (a.length % key.chunkSize != 0) {
  522.             a[i++] = 0
  523.         }
  524.         var al = a.length;
  525.         var result = "";
  526.         var j, k, block;
  527.         for (i = 0; i < al; i += key.chunkSize) {
  528.             block = new BigInt();
  529.             j = 0;
  530.             for (k = i; k < i + key.chunkSize; ++j) {
  531.                 block.digits[j] = a[k++];
  532.                 block.digits[j] += a[k++] << 8
  533.             }
  534.             var crypt = key.barrett.powMod(block, key.e);
  535.             var text = key.radix == 16 ? RSAUtils.biToHex(crypt) : RSAUtils.biToString(crypt, key.radix);
  536.             result += text + " "
  537.         }
  538.         return result.substring(0, result.length - 1)
  539.     };
  540.     RSAUtils.decryptedString = function(key, s) {
  541.         var blocks = s.split(" ");
  542.         var result = "";
  543.         var i, j, block;
  544.         for (i = 0; i < blocks.length; ++i) {
  545.             var bi;
  546.             if (key.radix == 16) {
  547.                 bi = RSAUtils.biFromHex(blocks[i])
  548.             } else {
  549.                 bi = RSAUtils.biFromString(blocks[i], key.radix)
  550.             }
  551.             block = key.barrett.powMod(bi, key.d);
  552.             for (j = 0; j <= RSAUtils.biHighIndex(block); ++j) {
  553.                 result += String.fromCharCode(block.digits[j] & 255, block.digits[j] >> 8)
  554.             }
  555.         }
  556.         if (result.charCodeAt(result.length - 1) == 0) {
  557.             result = result.substring(0, result.length - 1)
  558.         }
  559.         return result
  560.     };
  561.     RSAUtils.setMaxDigits(130)
  562. })(window);

  563. function jm(e) {
  564.     var t = 1411093327735 - new Date().getTime(),
  565.         n = new Date().getTime() + t;
  566.     var <font color="#ff0000">rsaExponent = "010001"</font>;
  567.     var <font color="#ff0000">rsaModulus = "008baf14121377fc76eaf7794b8a8af17085628c3590df47e6534574efcfd81ef8635fcdc67d141c15f51649a89533df0db839331e30b8f8e4440ebf7ccbcc494f4ba18e9f492534b8aafc1b1057429ac851d3d9eb66e86fce1b04527c7b95a2431b07ea277cde2365876e2733325df04389a9d891c5d36b7bc752140db74cb69f"</font>
  568.     return encryptString(n + encodeURIComponent(e), rsaExponent, rsaModulus);
  569. }

  570. function encryptString(str, e, m) {
  571.     var key = window.RSAUtils.getKeyPair(e, '', m);
  572.     var k = window.RSAUtils.encryptedString(key, str);
  573.     return k;
  574. }
复制代码

今天测试算法时抓来试试,伙伴们自行加入规则测试,有问题留言

加入石头布网络社⑨群371635933!规则定制!信誉低价!QQ:951-888-792
@感谢分享和出售规则的朋友,否则花钱也没地方购买。(100达人币=10元,其他地方定制一个简单功能群发软件大概需要300元)
@有人出售规则是好事,最怕的是想买规则,没人愿意出售。VIP会员可以免费下载官方VIP规则。
@规则发布一段时间后,如果失效(依旧有参考学习的价值),请重新抓包,对比更新,很简单(推荐学习规则编写,1-2天即可学会)
@群发规则定制参考价200元人民币/个
@如果百度收录慢,可以考虑360、搜狗、搜搜等搜索引擎。国外网站对搜索引擎支持也非常好。
回复

使用道具 举报

最佳答案
9 

435

回帖

85

好评

7525

达人币

用户组:VIP终身会员

答疑团队LV10

VIP赞助会员乐于助人论坛讲师兔年幸运勋章规则开发者忠实粉丝勤学向上春节勋章

 楼主| 发表于 2019-5-6 14:20:33 | 显示全部楼层
QQ截图20190506141414.png
加入石头布网络社⑨群371635933!规则定制!信誉低价!QQ:951-888-792
小提示:.wzdr是规则文件,.hwl是数据包文件 / 论坛评分,不扣自身!不用白不用。
回复 支持 反对

使用道具 举报

最佳答案
1 

1139

回帖

21

好评

742

达人币

用户组:金牌会员

Rank: 6Rank: 6

忠实粉丝10周年纪念勋章快乐勋章春节勋章VIP赞助会员

发表于 2019-5-6 16:22:30 | 显示全部楼层
厉害 高质量帖子
回复 支持 反对

使用道具 举报

最佳答案
57 

563

回帖

42

好评

1354

达人币

用户组:VIP终身会员

兔年幸运勋章

发表于 2019-5-6 17:28:07 | 显示全部楼层
帮你顶一下帖子
回复 支持 反对

使用道具 举报

最佳答案
1 

632

回帖

0

好评

2665

达人币

用户组:VIP终身会员

VIP赞助会员忠实粉丝10周年纪念勋章

发表于 2019-5-6 18:16:54 | 显示全部楼层
假设。。招个人专门做各类平台 机器发布(使用到wzdr)。  需要js解密加密技能,以及post相关技能,还得会Python脚本编写。这类人,得招聘属于 前端还是后端,身价月薪多少合适呢 随意一问
回复 支持 反对

使用道具 举报

最佳答案
2 

1517

回帖

10

好评

5296

达人币

用户组:金牌会员

Rank: 6Rank: 6

VIP赞助会员10周年纪念勋章忠实粉丝

发表于 2019-5-7 09:00:25 | 显示全部楼层
帮你顶一下帖子
回复 支持 反对

使用道具 举报

最佳答案
0 

804

回帖

0

好评

2141

达人币

用户组:高级会员

Rank: 4Rank: 4

忠实粉丝

发表于 2019-5-7 09:45:48 | 显示全部楼层
帮你顶一下帖子
回复 支持 反对

使用道具 举报

最佳答案
0 

280

回帖

1

好评

160

达人币

用户组:中级会员

Rank: 3

发表于 2019-5-7 11:37:47 | 显示全部楼层
帮你顶一下帖子
回复 支持 反对

使用道具 举报

最佳答案
77 

4685

回帖

74

好评

8324

达人币

用户组:VIP终身会员

VIP赞助会员乐于助人兔年幸运勋章七夕纪念勋章忠实粉丝

发表于 2019-5-7 12:35:54 | 显示全部楼层
本帖最后由 dkkd88 于 2019-5-7 12:36 编辑
bluecigar 发表于 2019-5-6 18:16
假设。。招个人专门做各类平台 机器发布(使用到wzdr)。  需要js解密加密技能,以及post相关技能,还得会P ...


5千起步,多多益善,看发帖及质量来路算提成
回复 支持 反对

使用道具 举报

最佳答案
0 

2931

回帖

16

好评

1万

达人币

用户组:VIP终身会员

本月灌水之星

发表于 2019-5-7 14:36:30 | 显示全部楼层
漂亮~帮你顶一下帖子
[推荐]在线病毒扫描网,当前支持 36 款杀毒引擎
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

抢沙发||关于我们|手机版|营销神器 (蜀ICP备14013818号)

GMT+8, 2024-4-24 11:29

Powered by 营销神器论坛 Discuz!X3.4

© 2007-2024 营销工具

快速回复 返回顶部 返回列表