开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3610|回复: 7
收起左侧

[完成] 不太懂js 应该是个rsa 求大神帮找到js代码

 关闭 [复制链接]
结帖率:80% (81/101)
发表于 2020-11-18 16:30:22 | 显示全部楼层 |阅读模式   黑龙江省哈尔滨市
60精币
https://77wdw.com/   这个网站的登陆密码加密 加密不算难 我找到了加密位置 但是不太懂js 不会改成

最佳答案

查看完整内容

要注意ex, key 是动态取的,
结帖率:100% (9/9)

签到天数: 12 天

发表于 2020-11-18 16:30:23 | 显示全部楼层   广东省中山市
要注意ex, key 是动态取的,

77wdw密码加密.e

895.55 KB, 下载次数: 18, 下载积分: 精币 -1 枚

回复

使用道具 举报

结帖率:92% (185/201)

签到天数: 6 天

发表于 2020-11-18 16:43:28 | 显示全部楼层   海南省儋州市
123.jpg JS_1.txt (19.86 KB, 下载次数: 3)

点评

恭喜大佬喜得60精币   湖北省荆州市  发表于 2020-11-18 17:11
回复

使用道具 举报

结帖率:98% (44/45)

签到天数: 11 天

发表于 2020-11-18 16:46:35 | 显示全部楼层   河南省商丘市

不发到问答区,回答后连哥荣誉点都混不上。
回复

使用道具 举报

结帖率:92% (185/201)

签到天数: 6 天

发表于 2020-11-18 16:48:00 | 显示全部楼层   海南省儋州市
Wod 发表于 2020-11-18 16:46
不发到问答区,回答后连哥荣誉点都混不上。

木事,抱着学习的态度去找的
回复

使用道具 举报

结帖率:91% (81/89)

签到天数: 4 天

发表于 2020-11-18 16:53:30 | 显示全部楼层   重庆市重庆市
  1. window=this;navigator={};var dbits;
  2. var canary = 244837814094590;
  3. var j_lm = ((canary & 16777215) == 15715070);
  4. function BigInteger(e, d, f) {
  5.     if (e != null) {
  6.         if ("number" == typeof e) {
  7.             this.fromNumber(e, d, f)
  8.         } else {
  9.             if (d == null && "string" != typeof e) {
  10.                 this.fromString(e, 256)
  11.             } else {
  12.                 this.fromString(e, d)
  13.             }
  14.         }
  15.     }
  16. }
  17. function nbi() {
  18.     return new BigInteger(null)
  19. }
  20. function am1(f, a, b, e, h, g) {
  21.     while (--g >= 0) {
  22.         var d = a * this[f++] + b[e] + h;
  23.         h = Math.floor(d / 67108864);
  24.         b[e++] = d & 67108863
  25.     }
  26.     return h
  27. }
  28. function am2(f, q, r, e, o, a) {
  29.     var k = q & 32767
  30.       , p = q >> 15;
  31.     while (--a >= 0) {
  32.         var d = this[f] & 32767;
  33.         var g = this[f++] >> 15;
  34.         var b = p * d + g * k;
  35.         d = k * d + ((b & 32767) << 15) + r[e] + (o & 1073741823);
  36.         o = (d >>> 30) + (b >>> 15) + p * g + (o >>> 30);
  37.         r[e++] = d & 1073741823
  38.     }
  39.     return o
  40. }
  41. function am3(f, q, r, e, o, a) {
  42.     var k = q & 16383
  43.       , p = q >> 14;
  44.     while (--a >= 0) {
  45.         var d = this[f] & 16383;
  46.         var g = this[f++] >> 14;
  47.         var b = p * d + g * k;
  48.         d = k * d + ((b & 16383) << 14) + r[e] + o;
  49.         o = (d >> 28) + (b >> 14) + p * g;
  50.         r[e++] = d & 268435455
  51.     }
  52.     return o
  53. }
  54. if (j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
  55.     BigInteger.prototype.am = am2;
  56.     dbits = 30
  57. } else {
  58.     if (j_lm && (navigator.appName != "Netscape")) {
  59.         BigInteger.prototype.am = am1;
  60.         dbits = 26
  61.     } else {
  62.         BigInteger.prototype.am = am3;
  63.         dbits = 28
  64.     }
  65. }
  66. BigInteger.prototype.DB = dbits;
  67. BigInteger.prototype.DM = ((1 << dbits) - 1);
  68. BigInteger.prototype.DV = (1 << dbits);
  69. var BI_FP = 52;
  70. BigInteger.prototype.FV = Math.pow(2, BI_FP);
  71. BigInteger.prototype.F1 = BI_FP - dbits;
  72. BigInteger.prototype.F2 = 2 * dbits - BI_FP;
  73. var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
  74. var BI_RC = new Array();
  75. var rr, vv;
  76. rr = "0".charCodeAt(0);
  77. for (vv = 0; vv <= 9; ++vv) {
  78.     BI_RC[rr++] = vv
  79. }
  80. rr = "a".charCodeAt(0);
  81. for (vv = 10; vv < 36; ++vv) {
  82.     BI_RC[rr++] = vv
  83. }
  84. rr = "A".charCodeAt(0);
  85. for (vv = 10; vv < 36; ++vv) {
  86.     BI_RC[rr++] = vv
  87. }
  88. function int2char(a) {
  89.     return BI_RM.charAt(a)
  90. }
  91. function intAt(b, a) {
  92.     var d = BI_RC[b.charCodeAt(a)];
  93.     return (d == null) ? -1 : d
  94. }
  95. function bnpCopyTo(b) {
  96.     for (var a = this.t - 1; a >= 0; --a) {
  97.         b[a] = this[a]
  98.     }
  99.     b.t = this.t;
  100.     b.s = this.s
  101. }
  102. function bnpFromInt(a) {
  103.     this.t = 1;
  104.     this.s = (a < 0) ? -1 : 0;
  105.     if (a > 0) {
  106.         this[0] = a
  107.     } else {
  108.         if (a < -1) {
  109.             this[0] = a + this.DV
  110.         } else {
  111.             this.t = 0
  112.         }
  113.     }
  114. }
  115. function nbv(a) {
  116.     var b = nbi();
  117.     b.fromInt(a);
  118.     return b
  119. }
  120. function bnpFromString(h, c) {
  121.     var e;
  122.     if (c == 16) {
  123.         e = 4
  124.     } else {
  125.         if (c == 8) {
  126.             e = 3
  127.         } else {
  128.             if (c == 256) {
  129.                 e = 8
  130.             } else {
  131.                 if (c == 2) {
  132.                     e = 1
  133.                 } else {
  134.                     if (c == 32) {
  135.                         e = 5
  136.                     } else {
  137.                         if (c == 4) {
  138.                             e = 2
  139.                         } else {
  140.                             this.fromRadix(h, c);
  141.                             return
  142.                         }
  143.                     }
  144.                 }
  145.             }
  146.         }
  147.     }
  148.     this.t = 0;
  149.     this.s = 0;
  150.     var g = h.length
  151.       , d = false
  152.       , f = 0;
  153.     while (--g >= 0) {
  154.         var a = (e == 8) ? h[g] & 255 : intAt(h, g);
  155.         if (a < 0) {
  156.             if (h.charAt(g) == "-") {
  157.                 d = true
  158.             }
  159.             continue
  160.         }
  161.         d = false;
  162.         if (f == 0) {
  163.             this[this.t++] = a
  164.         } else {
  165.             if (f + e > this.DB) {
  166.                 this[this.t - 1] |= (a & ((1 << (this.DB - f)) - 1)) << f;
  167.                 this[this.t++] = (a >> (this.DB - f))
  168.             } else {
  169.                 this[this.t - 1] |= a << f
  170.             }
  171.         }
  172.         f += e;
  173.         if (f >= this.DB) {
  174.             f -= this.DB
  175.         }
  176.     }
  177.     if (e == 8 && (h[0] & 128) != 0) {
  178.         this.s = -1;
  179.         if (f > 0) {
  180.             this[this.t - 1] |= ((1 << (this.DB - f)) - 1) << f
  181.         }
  182.     }
  183.     this.clamp();
  184.     if (d) {
  185.         BigInteger.ZERO.subTo(this, this)
  186.     }
  187. }
  188. function bnpClamp() {
  189.     var a = this.s & this.DM;
  190.     while (this.t > 0 && this[this.t - 1] == a) {
  191.         --this.t
  192.     }
  193. }
  194. function bnToString(c) {
  195.     if (this.s < 0) {
  196.         return "-" + this.negate().toString(c)
  197.     }
  198.     var e;
  199.     if (c == 16) {
  200.         e = 4
  201.     } else {
  202.         if (c == 8) {
  203.             e = 3
  204.         } else {
  205.             if (c == 2) {
  206.                 e = 1
  207.             } else {
  208.                 if (c == 32) {
  209.                     e = 5
  210.                 } else {
  211.                     if (c == 4) {
  212.                         e = 2
  213.                     } else {
  214.                         return this.toRadix(c)
  215.                     }
  216.                 }
  217.             }
  218.         }
  219.     }
  220.     var g = (1 << e) - 1, l, a = false, h = "", f = this.t;
  221.     var j = this.DB - (f * this.DB) % e;
  222.     if (f-- > 0) {
  223.         if (j < this.DB && (l = this[f] >> j) > 0) {
  224.             a = true;
  225.             h = int2char(l)
  226.         }
  227.         while (f >= 0) {
  228.             if (j < e) {
  229.                 l = (this[f] & ((1 << j) - 1)) << (e - j);
  230.                 l |= this[--f] >> (j += this.DB - e)
  231.             } else {
  232.                 l = (this[f] >> (j -= e)) & g;
  233.                 if (j <= 0) {
  234.                     j += this.DB;
  235.                     --f
  236.                 }
  237.             }
  238.             if (l > 0) {
  239.                 a = true
  240.             }
  241.             if (a) {
  242.                 h += int2char(l)
  243.             }
  244.         }
  245.     }
  246.     return a ? h : "0"
  247. }
  248. function bnNegate() {
  249.     var a = nbi();
  250.     BigInteger.ZERO.subTo(this, a);
  251.     return a
  252. }
  253. function bnAbs() {
  254.     return (this.s < 0) ? this.negate() : this
  255. }
  256. function bnCompareTo(b) {
  257.     var d = this.s - b.s;
  258.     if (d != 0) {
  259.         return d
  260.     }
  261.     var c = this.t;
  262.     d = c - b.t;
  263.     if (d != 0) {
  264.         return (this.s < 0) ? -d : d
  265.     }
  266.     while (--c >= 0) {
  267.         if ((d = this[c] - b[c]) != 0) {
  268.             return d
  269.         }
  270.     }
  271.     return 0
  272. }
  273. function nbits(a) {
  274.     var c = 1, b;
  275.     if ((b = a >>> 16) != 0) {
  276.         a = b;
  277.         c += 16
  278.     }
  279.     if ((b = a >> 8) != 0) {
  280.         a = b;
  281.         c += 8
  282.     }
  283.     if ((b = a >> 4) != 0) {
  284.         a = b;
  285.         c += 4
  286.     }
  287.     if ((b = a >> 2) != 0) {
  288.         a = b;
  289.         c += 2
  290.     }
  291.     if ((b = a >> 1) != 0) {
  292.         a = b;
  293.         c += 1
  294.     }
  295.     return c
  296. }
  297. function bnBitLength() {
  298.     if (this.t <= 0) {
  299.         return 0
  300.     }
  301.     return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
  302. }
  303. function bnpDLShiftTo(c, b) {
  304.     var a;
  305.     for (a = this.t - 1; a >= 0; --a) {
  306.         b[a + c] = this[a]
  307.     }
  308.     for (a = c - 1; a >= 0; --a) {
  309.         b[a] = 0
  310.     }
  311.     b.t = this.t + c;
  312.     b.s = this.s
  313. }
  314. function bnpDRShiftTo(c, b) {
  315.     for (var a = c; a < this.t; ++a) {
  316.         b[a - c] = this[a]
  317.     }
  318.     b.t = Math.max(this.t - c, 0);
  319.     b.s = this.s
  320. }
  321. function bnpLShiftTo(j, e) {
  322.     var b = j % this.DB;
  323.     var a = this.DB - b;
  324.     var g = (1 << a) - 1;
  325.     var f = Math.floor(j / this.DB), h = (this.s << b) & this.DM, d;
  326.     for (d = this.t - 1; d >= 0; --d) {
  327.         e[d + f + 1] = (this[d] >> a) | h;
  328.         h = (this[d] & g) << b
  329.     }
  330.     for (d = f - 1; d >= 0; --d) {
  331.         e[d] = 0
  332.     }
  333.     e[f] = h;
  334.     e.t = this.t + f + 1;
  335.     e.s = this.s;
  336.     e.clamp()
  337. }
  338. function bnpRShiftTo(g, d) {
  339.     d.s = this.s;
  340.     var e = Math.floor(g / this.DB);
  341.     if (e >= this.t) {
  342.         d.t = 0;
  343.         return
  344.     }
  345.     var b = g % this.DB;
  346.     var a = this.DB - b;
  347.     var f = (1 << b) - 1;
  348.     d[0] = this[e] >> b;
  349.     for (var c = e + 1; c < this.t; ++c) {
  350.         d[c - e - 1] |= (this[c] & f) << a;
  351.         d[c - e] = this[c] >> b
  352.     }
  353.     if (b > 0) {
  354.         d[this.t - e - 1] |= (this.s & f) << a
  355.     }
  356.     d.t = this.t - e;
  357.     d.clamp()
  358. }
  359. function bnpSubTo(d, f) {
  360.     var e = 0
  361.       , g = 0
  362.       , b = Math.min(d.t, this.t);
  363.     while (e < b) {
  364.         g += this[e] - d[e];
  365.         f[e++] = g & this.DM;
  366.         g >>= this.DB
  367.     }
  368.     if (d.t < this.t) {
  369.         g -= d.s;
  370.         while (e < this.t) {
  371.             g += this[e];
  372.             f[e++] = g & this.DM;
  373.             g >>= this.DB
  374.         }
  375.         g += this.s
  376.     } else {
  377.         g += this.s;
  378.         while (e < d.t) {
  379.             g -= d[e];
  380.             f[e++] = g & this.DM;
  381.             g >>= this.DB
  382.         }
  383.         g -= d.s
  384.     }
  385.     f.s = (g < 0) ? -1 : 0;
  386.     if (g < -1) {
  387.         f[e++] = this.DV + g
  388.     } else {
  389.         if (g > 0) {
  390.             f[e++] = g
  391.         }
  392.     }
  393.     f.t = e;
  394.     f.clamp()
  395. }
  396. function bnpMultiplyTo(c, e) {
  397.     var b = this.abs()
  398.       , f = c.abs();
  399.     var d = b.t;
  400.     e.t = d + f.t;
  401.     while (--d >= 0) {
  402.         e[d] = 0
  403.     }
  404.     for (d = 0; d < f.t; ++d) {
  405.         e[d + b.t] = b.am(0, f[d], e, d, 0, b.t)
  406.     }
  407.     e.s = 0;
  408.     e.clamp();
  409.     if (this.s != c.s) {
  410.         BigInteger.ZERO.subTo(e, e)
  411.     }
  412. }
  413. function bnpSquareTo(d) {
  414.     var a = this.abs();
  415.     var b = d.t = 2 * a.t;
  416.     while (--b >= 0) {
  417.         d[b] = 0
  418.     }
  419.     for (b = 0; b < a.t - 1; ++b) {
  420.         var e = a.am(b, a[b], d, 2 * b, 0, 1);
  421.         if ((d[b + a.t] += a.am(b + 1, 2 * a[b], d, 2 * b + 1, e, a.t - b - 1)) >= a.DV) {
  422.             d[b + a.t] -= a.DV;
  423.             d[b + a.t + 1] = 1
  424.         }
  425.     }
  426.     if (d.t > 0) {
  427.         d[d.t - 1] += a.am(b, a[b], d, 2 * b, 0, 1)
  428.     }
  429.     d.s = 0;
  430.     d.clamp()
  431. }
  432. function bnpDivRemTo(n, h, g) {
  433.     var x = n.abs();
  434.     if (x.t <= 0) {
  435.         return
  436.     }
  437.     var k = this.abs();
  438.     if (k.t < x.t) {
  439.         if (h != null) {
  440.             h.fromInt(0)
  441.         }
  442.         if (g != null) {
  443.             this.copyTo(g)
  444.         }
  445.         return
  446.     }
  447.     if (g == null) {
  448.         g = nbi()
  449.     }
  450.     var d = nbi()
  451.       , a = this.s
  452.       , l = n.s;
  453.     var w = this.DB - nbits(x[x.t - 1]);
  454.     if (w > 0) {
  455.         x.lShiftTo(w, d);
  456.         k.lShiftTo(w, g)
  457.     } else {
  458.         x.copyTo(d);
  459.         k.copyTo(g)
  460.     }
  461.     var p = d.t;
  462.     var b = d[p - 1];
  463.     if (b == 0) {
  464.         return
  465.     }
  466.     var o = b * (1 << this.F1) + ((p > 1) ? d[p - 2] >> this.F2 : 0);
  467.     var C = this.FV / o
  468.       , B = (1 << this.F1) / o
  469.       , A = 1 << this.F2;
  470.     var u = g.t
  471.       , s = u - p
  472.       , f = (h == null) ? nbi() : h;
  473.     d.dlShiftTo(s, f);
  474.     if (g.compareTo(f) >= 0) {
  475.         g[g.t++] = 1;
  476.         g.subTo(f, g)
  477.     }
  478.     BigInteger.ONE.dlShiftTo(p, f);
  479.     f.subTo(d, d);
  480.     while (d.t < p) {
  481.         d[d.t++] = 0
  482.     }
  483.     while (--s >= 0) {
  484.         var c = (g[--u] == b) ? this.DM : Math.floor(g[u] * C + (g[u - 1] + A) * B);
  485.         if ((g[u] += d.am(0, c, g, s, 0, p)) < c) {
  486.             d.dlShiftTo(s, f);
  487.             g.subTo(f, g);
  488.             while (g[u] < --c) {
  489.                 g.subTo(f, g)
  490.             }
  491.         }
  492.     }
  493.     if (h != null) {
  494.         g.drShiftTo(p, h);
  495.         if (a != l) {
  496.             BigInteger.ZERO.subTo(h, h)
  497.         }
  498.     }
  499.     g.t = p;
  500.     g.clamp();
  501.     if (w > 0) {
  502.         g.rShiftTo(w, g)
  503.     }
  504.     if (a < 0) {
  505.         BigInteger.ZERO.subTo(g, g)
  506.     }
  507. }
  508. function bnMod(b) {
  509.     var c = nbi();
  510.     this.abs().divRemTo(b, null, c);
  511.     if (this.s < 0 && c.compareTo(BigInteger.ZERO) > 0) {
  512.         b.subTo(c, c)
  513.     }
  514.     return c
  515. }
  516. function Classic(a) {
  517.     this.m = a
  518. }
  519. function cConvert(a) {
  520.     if (a.s < 0 || a.compareTo(this.m) >= 0) {
  521.         return a.mod(this.m)
  522.     } else {
  523.         return a
  524.     }
  525. }
  526. function cRevert(a) {
  527.     return a
  528. }
  529. function cReduce(a) {
  530.     a.divRemTo(this.m, null, a)
  531. }
  532. function cMulTo(a, c, b) {
  533.     a.multiplyTo(c, b);
  534.     this.reduce(b)
  535. }
  536. function cSqrTo(a, b) {
  537.     a.squareTo(b);
  538.     this.reduce(b)
  539. }
  540. Classic.prototype.convert = cConvert;
  541. Classic.prototype.revert = cRevert;
  542. Classic.prototype.reduce = cReduce;
  543. Classic.prototype.mulTo = cMulTo;
  544. Classic.prototype.sqrTo = cSqrTo;
  545. function bnpInvDigit() {
  546.     if (this.t < 1) {
  547.         return 0
  548.     }
  549.     var a = this[0];
  550.     if ((a & 1) == 0) {
  551.         return 0
  552.     }
  553.     var b = a & 3;
  554.     b = (b * (2 - (a & 15) * b)) & 15;
  555.     b = (b * (2 - (a & 255) * b)) & 255;
  556.     b = (b * (2 - (((a & 65535) * b) & 65535))) & 65535;
  557.     b = (b * (2 - a * b % this.DV)) % this.DV;
  558.     return (b > 0) ? this.DV - b : -b
  559. }
  560. function Montgomery(a) {
  561.     this.m = a;
  562.     this.mp = a.invDigit();
  563.     this.mpl = this.mp & 32767;
  564.     this.mph = this.mp >> 15;
  565.     this.um = (1 << (a.DB - 15)) - 1;
  566.     this.mt2 = 2 * a.t
  567. }
  568. function montConvert(a) {
  569.     var b = nbi();
  570.     a.abs().dlShiftTo(this.m.t, b);
  571.     b.divRemTo(this.m, null, b);
  572.     if (a.s < 0 && b.compareTo(BigInteger.ZERO) > 0) {
  573.         this.m.subTo(b, b)
  574.     }
  575.     return b
  576. }
  577. function montRevert(a) {
  578.     var b = nbi();
  579.     a.copyTo(b);
  580.     this.reduce(b);
  581.     return b
  582. }
  583. function montReduce(a) {
  584.     while (a.t <= this.mt2) {
  585.         a[a.t++] = 0
  586.     }
  587.     for (var c = 0; c < this.m.t; ++c) {
  588.         var b = a[c] & 32767;
  589.         var d = (b * this.mpl + (((b * this.mph + (a[c] >> 15) * this.mpl) & this.um) << 15)) & a.DM;
  590.         b = c + this.m.t;
  591.         a[b] += this.m.am(0, d, a, c, 0, this.m.t);
  592.         while (a[b] >= a.DV) {
  593.             a[b] -= a.DV;
  594.             a[++b]++
  595.         }
  596.     }
  597.     a.clamp();
  598.     a.drShiftTo(this.m.t, a);
  599.     if (a.compareTo(this.m) >= 0) {
  600.         a.subTo(this.m, a)
  601.     }
  602. }
  603. function montSqrTo(a, b) {
  604.     a.squareTo(b);
  605.     this.reduce(b)
  606. }
  607. function montMulTo(a, c, b) {
  608.     a.multiplyTo(c, b);
  609.     this.reduce(b)
  610. }
  611. Montgomery.prototype.convert = montConvert;
  612. Montgomery.prototype.revert = montRevert;
  613. Montgomery.prototype.reduce = montReduce;
  614. Montgomery.prototype.mulTo = montMulTo;
  615. Montgomery.prototype.sqrTo = montSqrTo;
  616. function bnpIsEven() {
  617.     return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
  618. }
  619. function bnpExp(h, j) {
  620.     if (h > 4294967295 || h < 1) {
  621.         return BigInteger.ONE
  622.     }
  623.     var f = nbi()
  624.       , a = nbi()
  625.       , d = j.convert(this)
  626.       , c = nbits(h) - 1;
  627.     d.copyTo(f);
  628.     while (--c >= 0) {
  629.         j.sqrTo(f, a);
  630.         if ((h & (1 << c)) > 0) {
  631.             j.mulTo(a, d, f)
  632.         } else {
  633.             var b = f;
  634.             f = a;
  635.             a = b
  636.         }
  637.     }
  638.     return j.revert(f)
  639. }
  640. function bnModPowInt(b, a) {
  641.     var c;
  642.     if (b < 256 || a.isEven()) {
  643.         c = new Classic(a)
  644.     } else {
  645.         c = new Montgomery(a)
  646.     }
  647.     return this.exp(b, c)
  648. }
  649. BigInteger.prototype.copyTo = bnpCopyTo;
  650. BigInteger.prototype.fromInt = bnpFromInt;
  651. BigInteger.prototype.fromString = bnpFromString;
  652. BigInteger.prototype.clamp = bnpClamp;
  653. BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
  654. BigInteger.prototype.drShiftTo = bnpDRShiftTo;
  655. BigInteger.prototype.lShiftTo = bnpLShiftTo;
  656. BigInteger.prototype.rShiftTo = bnpRShiftTo;
  657. BigInteger.prototype.subTo = bnpSubTo;
  658. BigInteger.prototype.multiplyTo = bnpMultiplyTo;
  659. BigInteger.prototype.squareTo = bnpSquareTo;
  660. BigInteger.prototype.divRemTo = bnpDivRemTo;
  661. BigInteger.prototype.invDigit = bnpInvDigit;
  662. BigInteger.prototype.isEven = bnpIsEven;
  663. BigInteger.prototype.exp = bnpExp;
  664. BigInteger.prototype.toString = bnToString;
  665. BigInteger.prototype.negate = bnNegate;
  666. BigInteger.prototype.abs = bnAbs;
  667. BigInteger.prototype.compareTo = bnCompareTo;
  668. BigInteger.prototype.bitLength = bnBitLength;
  669. BigInteger.prototype.mod = bnMod;
  670. BigInteger.prototype.modPowInt = bnModPowInt;
  671. BigInteger.ZERO = nbv(0);
  672. BigInteger.ONE = nbv(1);
  673. function Arcfour() {
  674.     this.i = 0;
  675.     this.j = 0;
  676.     this.S = new Array()
  677. }
  678. function ARC4init(d) {
  679.     var c, a, b;
  680.     for (c = 0; c < 256; ++c) {
  681.         this.S[c] = c
  682.     }
  683.     a = 0;
  684.     for (c = 0; c < 256; ++c) {
  685.         a = (a + this.S[c] + d[c % d.length]) & 255;
  686.         b = this.S[c];
  687.         this.S[c] = this.S[a];
  688.         this.S[a] = b
  689.     }
  690.     this.i = 0;
  691.     this.j = 0
  692. }
  693. function ARC4next() {
  694.     var a;
  695.     this.i = (this.i + 1) & 255;
  696.     this.j = (this.j + this.S[this.i]) & 255;
  697.     a = this.S[this.i];
  698.     this.S[this.i] = this.S[this.j];
  699.     this.S[this.j] = a;
  700.     return this.S[(a + this.S[this.i]) & 255]
  701. }
  702. Arcfour.prototype.init = ARC4init;
  703. Arcfour.prototype.next = ARC4next;
  704. function prng_newstate() {
  705.     return new Arcfour()
  706. }
  707. var rng_psize = 256;
  708. var rng_state;
  709. var rng_pool;
  710. var rng_pptr;
  711. function rng_seed_int(a) {
  712.     rng_pool[rng_pptr++] ^= a & 255;
  713.     rng_pool[rng_pptr++] ^= (a >> 8) & 255;
  714.     rng_pool[rng_pptr++] ^= (a >> 16) & 255;
  715.     rng_pool[rng_pptr++] ^= (a >> 24) & 255;
  716.     if (rng_pptr >= rng_psize) {
  717.         rng_pptr -= rng_psize
  718.     }
  719. }
  720. function rng_seed_time() {
  721.     rng_seed_int(new Date().getTime())
  722. }
  723. if (rng_pool == null) {
  724.     rng_pool = new Array();
  725.     rng_pptr = 0;
  726.     var t;
  727.     if (window.crypto && window.crypto.getRandomValues) {
  728.         var ua = new Uint8Array(32);
  729.         window.crypto.getRandomValues(ua);
  730.         for (t = 0; t < 32; ++t) {
  731.             rng_pool[rng_pptr++] = ua[t]
  732.         }
  733.     }
  734.     if (navigator.appName == "Netscape" && navigator.appVersion < "5" && window.crypto) {
  735.         var z = window.crypto.random(32);
  736.         for (t = 0; t < z.length; ++t) {
  737.             rng_pool[rng_pptr++] = z.charCodeAt(t) & 255
  738.         }
  739.     }
  740.     while (rng_pptr < rng_psize) {
  741.         t = Math.floor(65536 * Math.random());
  742.         rng_pool[rng_pptr++] = t >>> 8;
  743.         rng_pool[rng_pptr++] = t & 255
  744.     }
  745.     rng_pptr = 0;
  746.     rng_seed_time()
  747. }
  748. function rng_get_byte() {
  749.     if (rng_state == null) {
  750.         rng_seed_time();
  751.         rng_state = prng_newstate();
  752.         rng_state.init(rng_pool);
  753.         for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {
  754.             rng_pool[rng_pptr] = 0
  755.         }
  756.         rng_pptr = 0
  757.     }
  758.     return rng_state.next()
  759. }
  760. function rng_get_bytes(b) {
  761.     var a;
  762.     for (a = 0; a < b.length; ++a) {
  763.         b[a] = rng_get_byte()
  764.     }
  765. }
  766. function SecureRandom() {}
  767. SecureRandom.prototype.nextBytes = rng_get_bytes;
  768. function parseBigInt(b, a) {
  769.     return new BigInteger(b,a)
  770. }
  771. function linebrk(c, d) {
  772.     var a = "";
  773.     var b = 0;
  774.     while (b + d < c.length) {
  775.         a += c.substring(b, b + d) + "\n";
  776.         b += d
  777.     }
  778.     return a + c.substring(b, c.length)
  779. }
  780. function byte2Hex(a) {
  781.     if (a < 16) {
  782.         return "0" + a.toString(16)
  783.     } else {
  784.         return a.toString(16)
  785.     }
  786. }
  787. function pkcs1pad2(e, h) {
  788.     if (h < e.length + 11) {
  789.         alert("Message too long for RSA");
  790.         return null
  791.     }
  792.     var g = new Array();
  793.     var d = e.length - 1;
  794.     while (d >= 0 && h > 0) {
  795.         var f = e.charCodeAt(d--);
  796.         if (f < 128) {
  797.             g[--h] = f
  798.         } else {
  799.             if ((f > 127) && (f < 2048)) {
  800.                 g[--h] = (f & 63) | 128;
  801.                 g[--h] = (f >> 6) | 192
  802.             } else {
  803.                 g[--h] = (f & 63) | 128;
  804.                 g[--h] = ((f >> 6) & 63) | 128;
  805.                 g[--h] = (f >> 12) | 224
  806.             }
  807.         }
  808.     }
  809.     g[--h] = 0;
  810.     var b = new SecureRandom();
  811.     var a = new Array();
  812.     while (h > 2) {
  813.         a[0] = 0;
  814.         while (a[0] == 0) {
  815.             b.nextBytes(a)
  816.         }
  817.         g[--h] = a[0]
  818.     }
  819.     g[--h] = 2;
  820.     g[--h] = 0;
  821.     return new BigInteger(g)
  822. }
  823. function RSAKey() {
  824.     this.n = null;
  825.     this.e = 0;
  826.     this.d = null;
  827.     this.p = null;
  828.     this.q = null;
  829.     this.dmp1 = null;
  830.     this.dmq1 = null;
  831.     this.coeff = null
  832. }
  833. function RSASetPublic(b, a) {
  834.     if (b != null && a != null && b.length > 0 && a.length > 0) {
  835.         this.n = parseBigInt(b, 16);
  836.         this.e = parseInt(a, 16)
  837.     } else {
  838.         alert("Invalid RSA public key")
  839.     }
  840. }
  841. function RSADoPublic(a) {
  842.     return a.modPowInt(this.e, this.n)
  843. }
  844. function RSAEncrypt(d) {
  845.     var a = pkcs1pad2(d, (this.n.bitLength() + 7) >> 3);
  846.     if (a == null) {
  847.         return null
  848.     }
  849.     var e = this.doPublic(a);
  850.     if (e == null) {
  851.         return null
  852.     }
  853.     var b = e.toString(16);
  854.     if ((b.length & 1) == 0) {
  855.         return b
  856.     } else {
  857.         return "0" + b
  858.     }
  859. }
  860. RSAKey.prototype.doPublic = RSADoPublic;
  861. RSAKey.prototype.setPublic = RSASetPublic;
  862. RSAKey.prototype.encrypt = RSAEncrypt;
  863. var b64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  864. var b64padchar = "=";
  865. function hex2b64(d) {
  866.     var b;
  867.     var e;
  868.     var a = "";
  869.     for (b = 0; b + 3 <= d.length; b += 3) {
  870.         e = parseInt(d.substring(b, b + 3), 16);
  871.         a += b64map.charAt(e >> 6) + b64map.charAt(e & 63)
  872.     }
  873.     if (b + 1 == d.length) {
  874.         e = parseInt(d.substring(b, b + 1), 16);
  875.         a += b64map.charAt(e << 2)
  876.     } else {
  877.         if (b + 2 == d.length) {
  878.             e = parseInt(d.substring(b, b + 2), 16);
  879.             a += b64map.charAt(e >> 2) + b64map.charAt((e & 3) << 4)
  880.         }
  881.     }
  882.     while ((a.length & 3) > 0) {
  883.         a += b64padchar
  884.     }
  885.     return a
  886. }
  887. function b64tohex(e) {
  888.     var c = "";
  889.     var d;
  890.     var a = 0;
  891.     var b;
  892.     for (d = 0; d < e.length; ++d) {
  893.         if (e.charAt(d) == b64padchar) {
  894.             break
  895.         }
  896.         v = b64map.indexOf(e.charAt(d));
  897.         if (v < 0) {
  898.             continue
  899.         }
  900.         if (a == 0) {
  901.             c += int2char(v >> 2);
  902.             b = v & 3;
  903.             a = 1
  904.         } else {
  905.             if (a == 1) {
  906.                 c += int2char((b << 2) | (v >> 4));
  907.                 b = v & 15;
  908.                 a = 2
  909.             } else {
  910.                 if (a == 2) {
  911.                     c += int2char(b);
  912.                     c += int2char(v >> 2);
  913.                     b = v & 3;
  914.                     a = 3
  915.                 } else {
  916.                     c += int2char((b << 2) | (v >> 4));
  917.                     c += int2char(v & 15);
  918.                     a = 0
  919.                 }
  920.             }
  921.         }
  922.     }
  923.     if (a == 1) {
  924.         c += int2char(b << 2)
  925.     }
  926.     return c
  927. }
  928. function b64toBA(e) {
  929.     var d = b64tohex(e);
  930.     var c;
  931.     var b = new Array();
  932.     for (c = 0; 2 * c < d.length; ++c) {
  933.         b[c] = parseInt(d.substring(2 * c, 2 * c + 2), 16)
  934.     }
  935.     return b
  936. }
  937. ;
  938. function pwd(pwd) {

  939. var rsaKey = new RSAKey();
  940.             rsaKey.setPublic(b64tohex("AKxnwo07fONDYlaxyBmWZ7DzTJ1o7ehl15tolRIoV2RHdzBXaPnT63ubv+8tGPq7MpwX0Aont3KKXfzvEVAfa0U5LJduVUazx8z26E4W+UD6RPQmTqX4+v12c8diNgwkh/1YnwsB6v5RcdkqGZyXlTatzQ5UyrqQn2T4U5STGFnx"), b64tohex("AQAB"));
  941.             var enPassword = hex2b64(rsaKey.encrypt(pwd));
  942.     return enPassword;
  943. }
复制代码


回复

使用道具 举报

结帖率:67% (2/3)

签到天数: 19 天

发表于 2020-11-18 16:54:46 | 显示全部楼层   贵州省黔南布依族苗族自治州
不知道对不对,你试试吧

新建文本文档.txt.e

885.78 KB, 下载次数: 3, 下载积分: 精币 -1 枚

回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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