在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例Clojure → 易语言:QQ注册 Rsa解密

易语言:QQ注册 Rsa解密

Clojure

下载此实例
  • 开发语言:Others
  • 实例大小:0.87M
  • 下载次数:15
  • 浏览次数:585
  • 发布时间:2019-07-10
  • 实例类别:Clojure
  • 发 布 人:闹剧
  • 文件格式:.e
  • 所需积分:2
 相关标签: QQ注册 RSA sa 注册 解密

实例介绍

QQ注册 Rsa算法 js写法

function parseBigInt(t, r) {
return new BigInteger(t, r);
}
function linebrk(t, r) {
for (var i = "",
n = 0; n r < t.length;) i = t.substring(n, n r) "\n",
n = r;
return i t.substring(n, t.length);
}
function byte2Hex(t) {
return 16 > t ? "0" t.toString(16) : t.toString(16);
}
function pkcs1pad2(t, r) {
if (r < t.length 11) return uv_alert("Message too long for RSA"),
null;
for (var i = new Array,
n = t.length - 1; n >= 0 && r > 0;) {
    var o = t.charCodeAt(n--);
    128 > o ? i[--r] = o: o > 127 && 2048 > o ? (i[--r] = 63 & o | 128, i[--r] = o >> 6 | 192) : (i[--r] = 63 & o | 128, i[--r] = o >> 6 & 63 | 128, i[--r] = o >> 12 | 224);
}
i[--r] = 0;
for (var e = new SecureRandom,
s = new Array; r > 2;) {
    for (s[0] = 0; 0 == s[0];) e.nextBytes(s);
    i[--r] = s[0];
}
return i[--r] = 2,
i[--r] = 0,
new BigInteger(i);
}
function RSAKey() {
this.n = null,
this.e = 0,
this.d = null,
this.p = null,
this.q = null,
this.dmp1 = null,
this.dmq1 = null,
this.coeff = null;
}
function RSASetPublic(t, r) {
null != t && null != r && t.length > 0 && r.length > 0 ? (this.n = parseBigInt(t, 16), this.e = parseInt(r, 16)) : uv_alert("Invalid RSA public key");
}
function RSADoPublic(t) {
return t.modPowInt(this.e, this.n);
}
function RSAEncrypt(t) {
var r = pkcs1pad2(t, this.n.bitLength() 7 >> 3);
if (null == r) return null;
var i = this.doPublic(r);
if (null == i) return null;
var n = i.toString(16);
return 0 == (1 & n.length) ? n: "0" n;
}
function BigInteger(t, r, i) {
null != t && ("number" == typeof t ? this.fromNumber(t, r, i) : null == r && "string" != typeof t ? this.fromString(t, 256) : this.fromString(t, r));
}
function nbi() {
return new BigInteger(null);
}
function am1(t, r, i, n, o, e) {
for (; --e >= 0;) {
    var s = r * this[t ] i[n] o;
    o = Math.floor(s / 67108864),
    i[n ] = 67108863 & s;
}
return o;
}
function am2(t, r, i, n, o, e) {
for (var s = 32767 & r,
h = r >> 15; --e >= 0;) {
    var p = 32767 & this[t],
    g = this[t ] >> 15,
    u = h * p g * s;
    p = s * p ((32767 & u) << 15) i[n] (1073741823 & o),
    o = (p >>> 30) (u >>> 15) h * g (o >>> 30),
    i[n ] = 1073741823 & p;
}
return o;
}
function am3(t, r, i, n, o, e) {
for (var s = 16383 & r,
h = r >> 14; --e >= 0;) {
    var p = 16383 & this[t],
    g = this[t ] >> 14,
    u = h * p g * s;
    p = s * p ((16383 & u) << 14) i[n] o,
    o = (p >> 28) (u >> 14) h * g,
    i[n ] = 268435455 & p;
}
return o;
}
function int2char(t) {
return BI_RM.charAt(t);
}
function intAt(t, r) {
var i = BI_RC[t.charCodeAt(r)];
return null == i ? -1 : i;
}
function bnpCopyTo(t) {
for (var r = this.t - 1; r >= 0; --r) t[r] = this[r];
t.t = this.t,
t.s = this.s;
}
function bnpFromInt(t) {
this.t = 1,
this.s = 0 > t ? -1 : 0,
t > 0 ? this[0] = t: -1 > t ? this[0] = t DV: this.t = 0;
}
function nbv(t) {
var r = nbi();
return r.fromInt(t),
r;
}
function bnpFromString(t, r) {
var i;
if (16 == r) i = 4;
else if (8 == r) i = 3;
else if (256 == r) i = 8;
else if (2 == r) i = 1;
else if (32 == r) i = 5;
else {
    if (4 != r) return void this.fromRadix(t, r);
    i = 2;
}
this.t = 0,
this.s = 0;
for (var n = t.length,
o = !1,
e = 0; --n >= 0;) {
    var s = 8 == i ? 255 & t[n] : intAt(t, n);
    0 > s ? "-" == t.charAt(n) && (o = !0) : (o = !1, 0 == e ? this[this.t ] = s: e i > this.DB ? (this[this.t - 1] |= (s & (1 << this.DB - e) - 1) << e, this[this.t ] = s >> this.DB - e) : this[this.t - 1] |= s << e, e = i, e >= this.DB && (e -= this.DB));
}
8 == i && 0 != (128 & t[0]) && (this.s = -1, e > 0 && (this[this.t - 1] |= (1 << this.DB - e) - 1 << e)),
this.clamp(),
o && BigInteger.ZERO.subTo(this, this);
}
function bnpClamp() {
for (var t = this.s & this.DM; this.t > 0 && this[this.t - 1] == t;)--this.t;
}
function bnToString(t) {
if (this.s < 0) return "-" this.negate().toString(t);
var r;
if (16 == t) r = 4;
else if (8 == t) r = 3;
else if (2 == t) r = 1;
else if (32 == t) r = 5;
else {
    if (4 != t) return this.toRadix(t);
    r = 2;
}
var i, n = (1 << r) - 1,
o = !1,
e = "",
s = this.t,
h = this.DB - s * this.DB % r;
if (s-->0) for (h < this.DB && (i = this[s] >> h) > 0 && (o = !0, e = int2char(i)); s >= 0;) r > h ? (i = (this[s] & (1 << h) - 1) << r - h, i |= this[--s] >> (h = this.DB - r)) : (i = this[s] >> (h -= r) & n, 0 >= h && (h = this.DB, --s)),
i > 0 && (o = !0),
o && (e = int2char(i));
return o ? e: "0";
}
function bnNegate() {
var t = nbi();
return BigInteger.ZERO.subTo(this, t),
t;
}
function bnAbs() {
return this.s < 0 ? this.negate() : this;
}
function bnCompareTo(t) {
var r = this.s - t.s;
if (0 != r) return r;
var i = this.t;
if (r = i - t.t, 0 != r) return r;
for (; --i >= 0;) if (0 != (r = this[i] - t[i])) return r;
return 0;
}
function nbits(t) {
var r, i = 1;
return 0 != (r = t >>> 16) && (t = r, i = 16),
0 != (r = t >> 8) && (t = r, i = 8),
0 != (r = t >> 4) && (t = r, i = 4),
0 != (r = t >> 2) && (t = r, i = 2),
0 != (r = t >> 1) && (t = r, i = 1),
i;
}
function bnBitLength() {
return this.t <= 0 ? 0 : this.DB * (this.t - 1) nbits(this[this.t - 1] ^ this.s & this.DM);
}
function bnpDLShiftTo(t, r) {
var i;
for (i = this.t - 1; i >= 0; --i) r[i t] = this[i];
for (i = t - 1; i >= 0; --i) r[i] = 0;
r.t = this.t t,
r.s = this.s;
}
function bnpDRShiftTo(t, r) {
for (var i = t; i < this.t; i) r[i - t] = this[i];
r.t = Math.max(this.t - t, 0),
r.s = this.s;
}
function bnpLShiftTo(t, r) {
var i, n = t % this.DB,
o = this.DB - n,
e = (1 << o) - 1,
s = Math.floor(t / this.DB),
h = this.s << n & this.DM;
for (i = this.t - 1; i >= 0; --i) r[i s 1] = this[i] >> o | h,
h = (this[i] & e) << n;
for (i = s - 1; i >= 0; --i) r[i] = 0;
r[s] = h,
r.t = this.t s 1,
r.s = this.s,
r.clamp();
}
function bnpRShiftTo(t, r) {
r.s = this.s;
var i = Math.floor(t / this.DB);
if (i >= this.t) return void(r.t = 0);
var n = t % this.DB,
o = this.DB - n,
e = (1 << n) - 1;
r[0] = this[i] >> n;
for (var s = i 1; s < this.t; s) r[s - i - 1] |= (this[s] & e) << o,
r[s - i] = this[s] >> n;
n > 0 && (r[this.t - i - 1] |= (this.s & e) << o),
r.t = this.t - i,
r.clamp();
}
function bnpSubTo(t, r) {
for (var i = 0,
n = 0,
o = Math.min(t.t, this.t); o > i;) n = this[i] - t[i],
r[i ] = n & this.DM,
n >>= this.DB;
if (t.t < this.t) {
    for (n -= t.s; i < this.t;) n = this[i],
    r[i ] = n & this.DM,
    n >>= this.DB;
    n = this.s;
} else {
    for (n = this.s; i < t.t;) n -= t[i],
    r[i ] = n & this.DM,
    n >>= this.DB;
    n -= t.s;
}
r.s = 0 > n ? -1 : 0,
-1 > n ? r[i ] = this.DV n: n > 0 && (r[i ] = n),
r.t = i,
r.clamp();
}
function bnpMultiplyTo(t, r) {
var i = this.abs(),
n = t.abs(),
o = i.t;
for (r.t = o n.t; --o >= 0;) r[o] = 0;
for (o = 0; o < n.t; o) r[o i.t] = i.am(0, n[o], r, o, 0, i.t);
r.s = 0,
r.clamp(),
this.s != t.s && BigInteger.ZERO.subTo(r, r);
}
function bnpSquareTo(t) {
for (var r = this.abs(), i = t.t = 2 * r.t; --i >= 0;) t[i] = 0;
for (i = 0; i < r.t - 1; i) {
    var n = r.am(i, r[i], t, 2 * i, 0, 1); (t[i r.t] = r.am(i 1, 2 * r[i], t, 2 * i 1, n, r.t - i - 1)) >= r.DV && (t[i r.t] -= r.DV, t[i r.t 1] = 1);
}
t.t > 0 && (t[t.t - 1] = r.am(i, r[i], t, 2 * i, 0, 1)),
t.s = 0,
t.clamp();
}
function bnpDivRemTo(t, r, i) {
var n = t.abs();
if (! (n.t <= 0)) {

实例下载地址

易语言:QQ注册 Rsa解密

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警