本文整理汇总了TypeScript中js-sha256.sha256函数的典型用法代码示例。如果您正苦于以下问题:TypeScript sha256函数的具体用法?TypeScript sha256怎么用?TypeScript sha256使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sha256函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getMac256Hash
//.........这里部分代码省略.........
}
for (i = 0; i < sA.length; i++) {
sC += (sA.charAt(i) === sB.charAt(i)) ? '0' : '1';
}
return parseInt(sC.toString(), 2);
}
function cS64_C(pdwData:Array<string>, pInHash:Array<number>, pOutHash:Array<Number>):boolean {
var MODULUS = 2147483647;
if ((pdwData.length < 2) || ((pdwData.length & 1) === 1)) {
return false;
}
var ulCS64_a = pInHash[0] & MODULUS;
var ulCS64_b = pInHash[1] & MODULUS;
var ulCS64_c = pInHash[2] & MODULUS;
var ulCS64_d = pInHash[3] & MODULUS;
var ulCS64_e = 242854337;
var CS64_a = bigInt(ulCS64_a.toString());//decRadix === 1000????
var CS64_b = bigInt(ulCS64_b.toString());
var CS64_c = bigInt(ulCS64_c.toString());
var CS64_d = bigInt(ulCS64_d.toString());
var CS64_e = bigInt(ulCS64_e.toString());
var pos = 0;
var mod = bigInt(MODULUS.toString());
var qwDatum = bigInt('0');
var qwMAC = bigInt('0');
var qwSum = bigInt('0');
for (var i = 0; i < pdwData.length / 2; i++) {
qwDatum = bigInt(pdwData[pos++].toString());
qwDatum.multiply(CS64_e);
qwDatum.mod(mod);
qwMAC.add(qwDatum);
qwMAC.multiply(CS64_a);
qwMAC.add(CS64_b);
qwMAC.mod(mod);
qwSum.add(qwMAC);
qwMAC.add(bigInt(pdwData[pos++].toString()));
qwMAC.multiply(CS64_c);
qwMAC.add(CS64_d);
qwMAC.mod(mod);
qwSum.add(qwMAC);
}
qwMAC.add(CS64_b);
qwMAC.mod(mod);
qwSum.add(CS64_d);
qwSum.mod(mod);
pOutHash[0] = parseInt(qwMAC.toString(10), 10);
pOutHash[1] = parseInt(qwSum.toString(10), 10);
return true;
}
var clearText = challenge + appId;
var remaining = 8 - (clearText.length % 8);
if (remaining !== 8) {
clearText = padRight(clearText, clearText.length + remaining, '0');
}
var cchClearText = clearText.length / 4;
var pClearText: any[] = [];
var i: any;
var pos: any;
for (i = 0, pos = 0; i < cchClearText; i++) {
pClearText.splice(i, 0, 0);
pClearText[i] = pClearText[i] + clearText.charCodeAt(pos++) * 1;
pClearText[i] = pClearText[i] + clearText.charCodeAt(pos++) * 256;
pClearText[i] = pClearText[i] + clearText.charCodeAt(pos++) * 65536;
pClearText[i] = pClearText[i] + clearText.charCodeAt(pos++) * 16777216;
}
var sha256Hash = new Array(4);
var hash:string = sha256.sha256(challenge + key).toUpperCase();
for (i = 0, pos = 0; i < sha256Hash.length; i++) {
sha256Hash[i] = 0;
sha256Hash[i] += parseHexInt(hash.substr(pos, 2)) * 1;
pos += 2;
sha256Hash[i] += parseHexInt(hash.substr(pos, 2)) * 256;
pos += 2;
sha256Hash[i] += parseHexInt(hash.substr(pos, 2)) * 65536;
pos += 2;
sha256Hash[i] += parseHexInt(hash.substr(pos, 2)) * 16777216;
pos += 2;
}
var macHash = new Array(2);
cS64_C(pClearText, sha256Hash, macHash);
var a = int64Xor(sha256Hash[0], macHash[0]);
var b = int64Xor(sha256Hash[1], macHash[1]);
var c = int64Xor(sha256Hash[2], macHash[0]);
var d = int64Xor(sha256Hash[3], macHash[1]);
return int32ToHexString(a) + int32ToHexString(b) + int32ToHexString(c) + int32ToHexString(d);
}
示例2: test
test('sha256(ArrayBuffer)', (t) => {
t.plan(1);
t.equal(sha256(new ArrayBuffer(0)), 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855');
});