fix error + format
This commit is contained in:
+82
-20
@@ -1,18 +1,82 @@
|
||||
// skipqc
|
||||
var sha256=function a(b){function c(a,b){return a>>>b|a<<32-b}for(var d,e,f=Math.pow,g=f(2,32),h="length",i="",j=[],k=8*b[h],l=a.h=a.h||[],m=a.k=a.k||[],n=m[h],o={},p=2;n<64;p++)if(!o[p]){for(d=0;d<313;d+=p)o[d]=p;l[n]=f(p,.5)*g|0,m[n++]=f(p,1/3)*g|0}for(b+="\x80";b[h]%64-56;)b+="\x00";for(d=0;d<b[h];d++){if(e=b.charCodeAt(d),e>>8)return;j[d>>2]|=e<<(3-d)%4*8}for(j[j[h]]=k/g|0,j[j[h]]=k,e=0;e<j[h];){var q=j.slice(e,e+=16),r=l;for(l=l.slice(0,8),d=0;d<64;d++){var s=q[d-15],t=q[d-2],u=l[0],v=l[4],w=l[7]+(c(v,6)^c(v,11)^c(v,25))+(v&l[5]^~v&l[6])+m[d]+(q[d]=d<16?q[d]:q[d-16]+(c(s,7)^c(s,18)^s>>>3)+q[d-7]+(c(t,17)^c(t,19)^t>>>10)|0),x=(c(u,2)^c(u,13)^c(u,22))+(u&l[1]^u&l[2]^l[1]&l[2]);l=[w+x|0].concat(l),l[4]=l[4]+w|0}for(d=0;d<8;d++)l[d]=l[d]+r[d]|0}for(d=0;d<8;d++)for(e=3;e+1;e--){var y=l[d]>>8*e&255;i+=(y<16?0:"")+y.toString(16)}return i};
|
||||
|
||||
function hash(str,salt,num) {
|
||||
if(!num && num!==0)num=1;
|
||||
if(!str)return;
|
||||
if(!salt)salt=""
|
||||
let ret = str;
|
||||
for (let i = 0; i < num; i++) {
|
||||
ret = sha256(ret+salt)
|
||||
var sha256 = function a(b) {
|
||||
function c(a, b) {
|
||||
return (a >>> b) | (a << (32 - b))
|
||||
}
|
||||
return ret;
|
||||
for (
|
||||
var d,
|
||||
e,
|
||||
f = Math.pow,
|
||||
g = f(2, 32),
|
||||
h = 'length',
|
||||
i = '',
|
||||
j = [],
|
||||
k = 8 * b[h],
|
||||
l = (a.h = a.h || []),
|
||||
m = (a.k = a.k || []),
|
||||
n = m[h],
|
||||
o = {},
|
||||
p = 2;
|
||||
n < 64;
|
||||
p++
|
||||
)
|
||||
if (!o[p]) {
|
||||
for (d = 0; d < 313; d += p) o[d] = p
|
||||
;(l[n] = (f(p, 0.5) * g) | 0), (m[n++] = (f(p, 1 / 3) * g) | 0)
|
||||
}
|
||||
for (b += '\x80'; (b[h] % 64) - 56; ) b += '\x00'
|
||||
for (d = 0; d < b[h]; d++) {
|
||||
if (((e = b.charCodeAt(d)), e >> 8)) return
|
||||
j[d >> 2] |= e << (((3 - d) % 4) * 8)
|
||||
}
|
||||
for (j[j[h]] = (k / g) | 0, j[j[h]] = k, e = 0; e < j[h]; ) {
|
||||
var q = j.slice(e, (e += 16)),
|
||||
r = l
|
||||
for (l = l.slice(0, 8), d = 0; d < 64; d++) {
|
||||
var s = q[d - 15],
|
||||
t = q[d - 2],
|
||||
u = l[0],
|
||||
v = l[4],
|
||||
w =
|
||||
l[7] +
|
||||
(c(v, 6) ^ c(v, 11) ^ c(v, 25)) +
|
||||
((v & l[5]) ^ (~v & l[6])) +
|
||||
m[d] +
|
||||
(q[d] =
|
||||
d < 16
|
||||
? q[d]
|
||||
: (q[d - 16] +
|
||||
(c(s, 7) ^ c(s, 18) ^ (s >>> 3)) +
|
||||
q[d - 7] +
|
||||
(c(t, 17) ^ c(t, 19) ^ (t >>> 10))) |
|
||||
0),
|
||||
x =
|
||||
(c(u, 2) ^ c(u, 13) ^ c(u, 22)) +
|
||||
((u & l[1]) ^ (u & l[2]) ^ (l[1] & l[2]))
|
||||
;(l = [(w + x) | 0].concat(l)), (l[4] = (l[4] + w) | 0)
|
||||
}
|
||||
for (d = 0; d < 8; d++) l[d] = (l[d] + r[d]) | 0
|
||||
}
|
||||
for (d = 0; d < 8; d++)
|
||||
for (e = 3; e + 1; e--) {
|
||||
var y = (l[d] >> (8 * e)) & 255
|
||||
i += (y < 16 ? 0 : '') + y.toString(16)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
function extend(key,len) {
|
||||
function hash(str, salt, num) {
|
||||
if (!num && num !== 0) num = 1
|
||||
if (!str) return
|
||||
if (!salt) salt = ''
|
||||
let ret = str
|
||||
for (let i = 0; i < num; i++) {
|
||||
ret = sha256(ret + salt)
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
function extend(key, len) {
|
||||
let temp = []
|
||||
let out = []
|
||||
|
||||
@@ -20,18 +84,16 @@ function extend(key,len) {
|
||||
|
||||
let hashes = 0
|
||||
|
||||
for(let i=0;i<len/64;i++) {
|
||||
for (let i = 0; i < len / 64; i++) {
|
||||
temp[0] = hash(key, '', ++hashes)
|
||||
|
||||
temp[0] = hash(key,"",++hashes)
|
||||
temp[1] = hash(key, '', ++hashes)
|
||||
|
||||
temp[1] = hash(key,"",++hashes)
|
||||
temp[2] = hash(key, '', ++hashes)
|
||||
|
||||
temp[2] = hash(key,"",++hashes)
|
||||
|
||||
out[out.length] = hash(temp[0]+temp[1],temp[2],++hashes)
|
||||
out[out.length] = hash(temp[0] + temp[1], temp[2], ++hashes)
|
||||
temp = []
|
||||
|
||||
}
|
||||
|
||||
return out.join("").substring(0,len)
|
||||
}
|
||||
return out.join('').substring(0, len)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user