爱奇艺登录password参数js解析

安装nodejs,将下面代码保存为password.js,控制台运行 node password.js

var n = 16, o = n, p = 65536, q = p >>> 1, r = p * p, s = p - 1;

rsaFun = function(e) {
   
	var t = "ab86b6371b5318aaa1d3c9e612a9f1264f372323c8c0f19875b5fc3b3fd3afcc1e5bec527aa94bfa85bffc157e4245aebda05389a5357b75115ac94f074aefcd",
		a = "10001",
		n = getKeyPair(a, "", t);
	//console.log('+++n is:',n);
	var	i = encryptedString(n, encodeURIComponent(e)).replace(/\s/g, "-");
	return i
}

biToHex = function(a) {
   
	var b = "";
	biHighIndex(a);
	for (var c = biHighIndex(a); c > -1; --c)
		b += digitToHex(a.digits[c]);
	return b
}

digitToHex = function(a) {
   
	var x = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
	var b = 15,
		c = "";
	for (i = 0; 4 > i; ++i)
		c += x[a & b], 
		a >>>= 4;
	return reverseStr(c)
}

reverseStr = function(a) {
   
	for (var b = "", c = a.length - 1; c > -1; --c)
		b += a.charAt(c);
	return b
}

encryptedString = function(a, b) {
   
	for (var c = [], d = b.length, e = 0; d > e;)
		c[e] = b.charCodeAt(e), 
		e++;
	for (; 0 != c.length % a.chunkSize;)
		c[e++] = 0;
	var g, h, i, j = c.length, k = "";
	for (e = 0; j > e; e += a.chunkSize) {
   
		for (i = new T, 
		g = 0, h = e; 
		h < e + a.chunkSize; ++g)
			i.digits[g] = c[h++], 
			i.digits[g] += c[h++] << 8;
		var l = a.barrett.powMod(i, a.e),
			m = 16 == a.radix ? biToHex(l) : biToString(l, a.radix);
		k += m + " "
	}
	return k.substring(0, k.length - 1)
}

getKeyPair = function(a, b, c) {
   
	return new A(a, b, c)
}

A = function(a, b, c) {
   
	this.e = biFromHex(a), 
	this.d = biFromHex(b), 
	this.m = biFromHex(c), 
	this.chunkSize = 2 * biHighIndex(this.m), 
	this.radix = 16, 
	this.barrett = new BarrettMu(this.m)
}

biDivideByRadixPower = function(a, b) {
   
	var c = new T;
	return arrayCopy(a.digits, b, c.digits, 0, c.digits.length - b), 
	c
}

biModuloByRadixPower = function(a, b) {
   
	var c = new T;
	return arrayCopy(a.digits, 0, c.digits
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值