MCPcopy Create free account
hub / github.com/arguiot/TheoremJS / sha256

Method sha256

__test__/theorem.js:1681–1864  ·  view source on GitHub ↗
(input)

Source from the content-addressed store, hash-verified

1679 return temp.toLowerCase();
1680 }
1681 sha256(input) {
1682 let s = input;
1683
1684 const chrsz = 8;
1685 const hexcase = 0;
1686
1687 function safe_add(x, y) {
1688 const lsw = (x & 0xFFFF) + (y & 0xFFFF);
1689 const msw = (x >> 16) + (y >> 16) + (lsw >> 16);
1690 return (msw << 16) | (lsw & 0xFFFF);
1691 }
1692
1693 function S(X, n) {
1694 return (X >>> n) | (X << (32 - n));
1695 }
1696
1697 function R(X, n) {
1698 return (X >>> n);
1699 }
1700
1701 function Ch(x, y, z) {
1702 return ((x & y) ^ ((~x) & z));
1703 }
1704
1705 function Maj(x, y, z) {
1706 return ((x & y) ^ (x & z) ^ (y & z));
1707 }
1708
1709 function Sigma0256(x) {
1710 return (S(x, 2) ^ S(x, 13) ^ S(x, 22));
1711 }
1712
1713 function Sigma1256(x) {
1714 return (S(x, 6) ^ S(x, 11) ^ S(x, 25));
1715 }
1716
1717 function Gamma0256(x) {
1718 return (S(x, 7) ^ S(x, 18) ^ R(x, 3));
1719 }
1720
1721 function Gamma1256(x) {
1722 return (S(x, 17) ^ S(x, 19) ^ R(x, 10));
1723 }
1724
1725 function core_sha256(m, l) {
1726 const K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2);
1727 const HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);
1728 const W = new Array(64);
1729 let a;
1730 let b;
1731 let c;
1732 let d;
1733 let e;
1734 let f;
1735 let g;
1736 let h;
1737 var i;
1738 var j;

Callers 1

test.jsFile · 0.80

Calls 5

binb2hexFunction · 0.85
core_sha256Function · 0.85
str2binbFunction · 0.85
toStringMethod · 0.80
Utf8EncodeFunction · 0.50

Tested by

no test coverage detected