@apeleghq/sha2 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -21
- package/package.json +759 -129
- package/sha224+deserialize+serialize+streaming.es.cjs +41 -0
- package/sha224+deserialize+serialize+streaming.es.mjs +40 -0
- package/sha224+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha224+deserialize+serialize+streaming.wasm.mjs +7 -0
- package/sha224+sha256+deserialize+serialize+streaming.es.cjs +50 -0
- package/sha224+sha256+deserialize+serialize+streaming.es.mjs +50 -0
- package/sha224+sha256+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha224+sha256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha256+sha384+deserialize+serialize+streaming.es.cjs +95 -0
- package/sha224+sha256+sha384+deserialize+serialize+streaming.es.mjs +96 -0
- package/sha224+sha256+sha384+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha256+sha384+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.es.cjs +112 -0
- package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.es.mjs +113 -0
- package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +127 -0
- package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +129 -0
- package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha256+sha384+sha512+sha512_256+streaming.es.cjs +173 -0
- package/sha224+sha256+sha384+sha512+sha512_256+streaming.es.mjs +174 -0
- package/sha224+sha256+sha384+sha512+sha512_256+streaming.wasm.cjs +7 -0
- package/sha224+sha256+sha384+sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha224+sha256+sha384+sha512+streaming.es.cjs +142 -0
- package/sha224+sha256+sha384+sha512+streaming.es.mjs +143 -0
- package/sha224+sha256+sha384+sha512+streaming.wasm.cjs +7 -0
- package/sha224+sha256+sha384+sha512+streaming.wasm.mjs +7 -0
- package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.es.cjs +110 -0
- package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.es.mjs +110 -0
- package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha256+sha384+sha512_256+streaming.es.cjs +140 -0
- package/sha224+sha256+sha384+sha512_256+streaming.es.mjs +141 -0
- package/sha224+sha256+sha384+sha512_256+streaming.wasm.cjs +7 -0
- package/sha224+sha256+sha384+sha512_256+streaming.wasm.mjs +7 -0
- package/sha224+sha256+sha384+streaming.es.cjs +109 -0
- package/sha224+sha256+sha384+streaming.es.mjs +109 -0
- package/sha224+sha256+sha384+streaming.wasm.cjs +7 -0
- package/sha224+sha256+sha384+streaming.wasm.mjs +7 -0
- package/sha224+sha256+sha512+deserialize+serialize+streaming.es.cjs +96 -0
- package/sha224+sha256+sha512+deserialize+serialize+streaming.es.mjs +97 -0
- package/sha224+sha256+sha512+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha256+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +111 -0
- package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +112 -0
- package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha256+sha512+sha512_256+streaming.es.cjs +141 -0
- package/sha224+sha256+sha512+sha512_256+streaming.es.mjs +142 -0
- package/sha224+sha256+sha512+sha512_256+streaming.wasm.cjs +7 -0
- package/sha224+sha256+sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha224+sha256+sha512+streaming.es.cjs +110 -0
- package/sha224+sha256+sha512+streaming.es.mjs +110 -0
- package/sha224+sha256+sha512+streaming.wasm.cjs +7 -0
- package/sha224+sha256+sha512+streaming.wasm.mjs +7 -0
- package/sha224+sha256+sha512_256+deserialize+serialize+streaming.es.cjs +94 -0
- package/sha224+sha256+sha512_256+deserialize+serialize+streaming.es.mjs +95 -0
- package/sha224+sha256+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha256+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha256+sha512_256+streaming.es.cjs +108 -0
- package/sha224+sha256+sha512_256+streaming.es.mjs +108 -0
- package/sha224+sha256+sha512_256+streaming.wasm.cjs +7 -0
- package/sha224+sha256+sha512_256+streaming.wasm.mjs +7 -0
- package/sha224+sha256+streaming.es.cjs +49 -0
- package/sha224+sha256+streaming.es.mjs +49 -0
- package/sha224+sha256+streaming.wasm.cjs +6 -0
- package/sha224+sha256+streaming.wasm.mjs +7 -0
- package/sha224+sha384+deserialize+serialize+streaming.es.cjs +85 -0
- package/sha224+sha384+deserialize+serialize+streaming.es.mjs +85 -0
- package/sha224+sha384+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha224+sha384+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha384+sha512+deserialize+serialize+streaming.es.cjs +103 -0
- package/sha224+sha384+sha512+deserialize+serialize+streaming.es.mjs +104 -0
- package/sha224+sha384+sha512+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha384+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +119 -0
- package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +120 -0
- package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha384+sha512+sha512_256+streaming.es.cjs +159 -0
- package/sha224+sha384+sha512+sha512_256+streaming.es.mjs +160 -0
- package/sha224+sha384+sha512+sha512_256+streaming.wasm.cjs +7 -0
- package/sha224+sha384+sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha224+sha384+sha512+streaming.es.cjs +128 -0
- package/sha224+sha384+sha512+streaming.es.mjs +128 -0
- package/sha224+sha384+sha512+streaming.wasm.cjs +7 -0
- package/sha224+sha384+sha512+streaming.wasm.mjs +7 -0
- package/sha224+sha384+sha512_256+deserialize+serialize+streaming.es.cjs +101 -0
- package/sha224+sha384+sha512_256+deserialize+serialize+streaming.es.mjs +102 -0
- package/sha224+sha384+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha384+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha384+sha512_256+streaming.es.cjs +126 -0
- package/sha224+sha384+sha512_256+streaming.es.mjs +126 -0
- package/sha224+sha384+sha512_256+streaming.wasm.cjs +7 -0
- package/sha224+sha384+sha512_256+streaming.wasm.mjs +7 -0
- package/sha224+sha384+streaming.es.cjs +95 -0
- package/sha224+sha384+streaming.es.mjs +95 -0
- package/sha224+sha384+streaming.wasm.cjs +6 -0
- package/sha224+sha384+streaming.wasm.mjs +7 -0
- package/sha224+sha512+deserialize+serialize+streaming.es.cjs +86 -0
- package/sha224+sha512+deserialize+serialize+streaming.es.mjs +86 -0
- package/sha224+sha512+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha224+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +102 -0
- package/sha224+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +103 -0
- package/sha224+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha224+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha512+sha512_256+streaming.es.cjs +127 -0
- package/sha224+sha512+sha512_256+streaming.es.mjs +127 -0
- package/sha224+sha512+sha512_256+streaming.wasm.cjs +7 -0
- package/sha224+sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha224+sha512+streaming.es.cjs +96 -0
- package/sha224+sha512+streaming.es.mjs +96 -0
- package/sha224+sha512+streaming.wasm.cjs +6 -0
- package/sha224+sha512+streaming.wasm.mjs +7 -0
- package/sha224+sha512_256+deserialize+serialize+streaming.es.cjs +84 -0
- package/sha224+sha512_256+deserialize+serialize+streaming.es.mjs +84 -0
- package/sha224+sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha224+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha224+sha512_256+streaming.es.cjs +94 -0
- package/sha224+sha512_256+streaming.es.mjs +94 -0
- package/sha224+sha512_256+streaming.wasm.cjs +6 -0
- package/sha224+sha512_256+streaming.wasm.mjs +7 -0
- package/sha224+streaming.es.cjs +35 -0
- package/sha224+streaming.es.mjs +35 -0
- package/sha224+streaming.wasm.cjs +6 -0
- package/sha224+streaming.wasm.mjs +6 -0
- package/sha256+deserialize+serialize+streaming.es.cjs +41 -0
- package/sha256+deserialize+serialize+streaming.es.mjs +40 -0
- package/sha256+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha256+deserialize+serialize+streaming.wasm.mjs +7 -0
- package/sha256+sha384+deserialize+serialize+streaming.es.cjs +85 -0
- package/sha256+sha384+deserialize+serialize+streaming.es.mjs +85 -0
- package/sha256+sha384+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha256+sha384+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha256+sha384+sha512+deserialize+serialize+streaming.es.cjs +104 -0
- package/sha256+sha384+sha512+deserialize+serialize+streaming.es.mjs +105 -0
- package/sha256+sha384+sha512+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha256+sha384+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +119 -0
- package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +120 -0
- package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha256+sha384+sha512+sha512_256+streaming.es.cjs +160 -0
- package/sha256+sha384+sha512+sha512_256+streaming.es.mjs +160 -0
- package/sha256+sha384+sha512+sha512_256+streaming.wasm.cjs +7 -0
- package/sha256+sha384+sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha256+sha384+sha512+streaming.es.cjs +129 -0
- package/sha256+sha384+sha512+streaming.es.mjs +128 -0
- package/sha256+sha384+sha512+streaming.wasm.cjs +7 -0
- package/sha256+sha384+sha512+streaming.wasm.mjs +7 -0
- package/sha256+sha384+sha512_256+deserialize+serialize+streaming.es.cjs +101 -0
- package/sha256+sha384+sha512_256+deserialize+serialize+streaming.es.mjs +102 -0
- package/sha256+sha384+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha256+sha384+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha256+sha384+sha512_256+streaming.es.cjs +126 -0
- package/sha256+sha384+sha512_256+streaming.es.mjs +126 -0
- package/sha256+sha384+sha512_256+streaming.wasm.cjs +7 -0
- package/sha256+sha384+sha512_256+streaming.wasm.mjs +7 -0
- package/sha256+sha384+streaming.es.cjs +95 -0
- package/sha256+sha384+streaming.es.mjs +95 -0
- package/sha256+sha384+streaming.wasm.cjs +6 -0
- package/sha256+sha384+streaming.wasm.mjs +7 -0
- package/sha256+sha512+deserialize+serialize+streaming.es.cjs +87 -0
- package/sha256+sha512+deserialize+serialize+streaming.es.mjs +86 -0
- package/sha256+sha512+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha256+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha256+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +102 -0
- package/sha256+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +103 -0
- package/sha256+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha256+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha256+sha512+sha512_256+streaming.es.cjs +127 -0
- package/sha256+sha512+sha512_256+streaming.es.mjs +127 -0
- package/sha256+sha512+sha512_256+streaming.wasm.cjs +7 -0
- package/sha256+sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha256+sha512+streaming.es.cjs +97 -0
- package/sha256+sha512+streaming.es.mjs +97 -0
- package/sha256+sha512+streaming.wasm.cjs +6 -0
- package/sha256+sha512+streaming.wasm.mjs +7 -0
- package/sha256+sha512_256+deserialize+serialize+streaming.es.cjs +84 -0
- package/sha256+sha512_256+deserialize+serialize+streaming.es.mjs +84 -0
- package/sha256+sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha256+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha256+sha512_256+streaming.es.cjs +94 -0
- package/sha256+sha512_256+streaming.es.mjs +94 -0
- package/sha256+sha512_256+streaming.wasm.cjs +6 -0
- package/sha256+sha512_256+streaming.wasm.mjs +7 -0
- package/sha256+streaming.es.cjs +35 -0
- package/sha256+streaming.es.mjs +35 -0
- package/sha256+streaming.wasm.cjs +6 -0
- package/sha256+streaming.wasm.mjs +6 -0
- package/sha384+deserialize+serialize+streaming.es.cjs +57 -0
- package/sha384+deserialize+serialize+streaming.es.mjs +57 -0
- package/sha384+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha384+deserialize+serialize+streaming.wasm.mjs +7 -0
- package/sha384+sha512+deserialize+serialize+streaming.es.cjs +75 -0
- package/sha384+sha512+deserialize+serialize+streaming.es.mjs +75 -0
- package/sha384+sha512+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha384+sha512+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs +90 -0
- package/sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +90 -0
- package/sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +8 -0
- package/sha384+sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha384+sha512+sha512_256+streaming.es.cjs +135 -0
- package/sha384+sha512+sha512_256+streaming.es.mjs +135 -0
- package/sha384+sha512+sha512_256+streaming.wasm.cjs +7 -0
- package/sha384+sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha384+sha512+streaming.es.cjs +104 -0
- package/sha384+sha512+streaming.es.mjs +104 -0
- package/sha384+sha512+streaming.wasm.cjs +6 -0
- package/sha384+sha512+streaming.wasm.mjs +7 -0
- package/sha384+sha512_256+deserialize+serialize+streaming.es.cjs +73 -0
- package/sha384+sha512_256+deserialize+serialize+streaming.es.mjs +73 -0
- package/sha384+sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha384+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha384+sha512_256+streaming.es.cjs +102 -0
- package/sha384+sha512_256+streaming.es.mjs +102 -0
- package/sha384+sha512_256+streaming.wasm.cjs +6 -0
- package/sha384+sha512_256+streaming.wasm.mjs +7 -0
- package/sha384+streaming.es.cjs +71 -0
- package/sha384+streaming.es.mjs +71 -0
- package/sha384+streaming.wasm.cjs +6 -0
- package/sha384+streaming.wasm.mjs +6 -0
- package/sha512+deserialize+serialize+streaming.es.cjs +58 -0
- package/sha512+deserialize+serialize+streaming.es.mjs +58 -0
- package/sha512+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha512+deserialize+serialize+streaming.wasm.mjs +7 -0
- package/sha512+sha512_256+deserialize+serialize+streaming.es.cjs +74 -0
- package/sha512+sha512_256+deserialize+serialize+streaming.es.mjs +74 -0
- package/sha512+sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha512+sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha512+sha512_256+streaming.es.cjs +103 -0
- package/sha512+sha512_256+streaming.es.mjs +103 -0
- package/sha512+sha512_256+streaming.wasm.cjs +6 -0
- package/sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha512+streaming.es.cjs +72 -0
- package/sha512+streaming.es.mjs +72 -0
- package/sha512+streaming.wasm.cjs +6 -0
- package/sha512+streaming.wasm.mjs +6 -0
- package/sha512_256+deserialize+serialize+streaming.es.cjs +56 -0
- package/sha512_256+deserialize+serialize+streaming.es.mjs +56 -0
- package/sha512_256+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha512_256+deserialize+serialize+streaming.wasm.mjs +8 -0
- package/sha512_256+streaming.es.cjs +70 -0
- package/sha512_256+streaming.es.mjs +70 -0
- package/sha512_256+streaming.wasm.cjs +6 -0
- package/sha512_256+streaming.wasm.mjs +6 -0
- package/types.d.cts +6 -2
- package/types.d.mts +6 -2
- package/sha224+deserialize+serialize+streaming.cjs +0 -33
- package/sha224+deserialize+serialize+streaming.mjs +0 -33
- package/sha224+sha256+deserialize+serialize+streaming.cjs +0 -37
- package/sha224+sha256+deserialize+serialize+streaming.mjs +0 -37
- package/sha224+sha256+sha384+deserialize+serialize+streaming.cjs +0 -69
- package/sha224+sha256+sha384+deserialize+serialize+streaming.mjs +0 -69
- package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.cjs +0 -85
- package/sha224+sha256+sha384+sha512+deserialize+serialize+streaming.mjs +0 -86
- package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -92
- package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -93
- package/sha224+sha256+sha384+sha512+sha512_256+streaming.cjs +0 -68
- package/sha224+sha256+sha384+sha512+sha512_256+streaming.mjs +0 -69
- package/sha224+sha256+sha384+sha512+streaming.cjs +0 -62
- package/sha224+sha256+sha384+sha512+streaming.mjs +0 -62
- package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -84
- package/sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.mjs +0 -85
- package/sha224+sha256+sha384+sha512_256+streaming.cjs +0 -61
- package/sha224+sha256+sha384+sha512_256+streaming.mjs +0 -61
- package/sha224+sha256+sha384+streaming.cjs +0 -48
- package/sha224+sha256+sha384+streaming.mjs +0 -48
- package/sha224+sha256+sha512+deserialize+serialize+streaming.cjs +0 -70
- package/sha224+sha256+sha512+deserialize+serialize+streaming.mjs +0 -70
- package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -84
- package/sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -85
- package/sha224+sha256+sha512+sha512_256+streaming.cjs +0 -61
- package/sha224+sha256+sha512+sha512_256+streaming.mjs +0 -61
- package/sha224+sha256+sha512+streaming.cjs +0 -49
- package/sha224+sha256+sha512+streaming.mjs +0 -49
- package/sha224+sha256+sha512_256+deserialize+serialize+streaming.cjs +0 -68
- package/sha224+sha256+sha512_256+deserialize+serialize+streaming.mjs +0 -68
- package/sha224+sha256+sha512_256+streaming.cjs +0 -47
- package/sha224+sha256+sha512_256+streaming.mjs +0 -47
- package/sha224+sha256+streaming.cjs +0 -26
- package/sha224+sha256+streaming.mjs +0 -26
- package/sha224+sha384+deserialize+serialize+streaming.cjs +0 -65
- package/sha224+sha384+deserialize+serialize+streaming.mjs +0 -65
- package/sha224+sha384+sha512+deserialize+serialize+streaming.cjs +0 -81
- package/sha224+sha384+sha512+deserialize+serialize+streaming.mjs +0 -81
- package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -88
- package/sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -89
- package/sha224+sha384+sha512+sha512_256+streaming.cjs +0 -64
- package/sha224+sha384+sha512+sha512_256+streaming.mjs +0 -64
- package/sha224+sha384+sha512+streaming.cjs +0 -57
- package/sha224+sha384+sha512+streaming.mjs +0 -57
- package/sha224+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -80
- package/sha224+sha384+sha512_256+deserialize+serialize+streaming.mjs +0 -80
- package/sha224+sha384+sha512_256+streaming.cjs +0 -56
- package/sha224+sha384+sha512_256+streaming.mjs +0 -56
- package/sha224+sha384+streaming.cjs +0 -44
- package/sha224+sha384+streaming.mjs +0 -44
- package/sha224+sha512+deserialize+serialize+streaming.cjs +0 -66
- package/sha224+sha512+deserialize+serialize+streaming.mjs +0 -66
- package/sha224+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -80
- package/sha224+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -80
- package/sha224+sha512+sha512_256+streaming.cjs +0 -56
- package/sha224+sha512+sha512_256+streaming.mjs +0 -56
- package/sha224+sha512+streaming.cjs +0 -45
- package/sha224+sha512+streaming.mjs +0 -45
- package/sha224+sha512_256+deserialize+serialize+streaming.cjs +0 -64
- package/sha224+sha512_256+deserialize+serialize+streaming.mjs +0 -64
- package/sha224+sha512_256+streaming.cjs +0 -43
- package/sha224+sha512_256+streaming.mjs +0 -43
- package/sha224+streaming.cjs +0 -21
- package/sha224+streaming.mjs +0 -21
- package/sha256+deserialize+serialize+streaming.cjs +0 -33
- package/sha256+deserialize+serialize+streaming.mjs +0 -33
- package/sha256+sha384+deserialize+serialize+streaming.cjs +0 -65
- package/sha256+sha384+deserialize+serialize+streaming.mjs +0 -66
- package/sha256+sha384+sha512+deserialize+serialize+streaming.cjs +0 -81
- package/sha256+sha384+sha512+deserialize+serialize+streaming.mjs +0 -81
- package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -88
- package/sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -89
- package/sha256+sha384+sha512+sha512_256+streaming.cjs +0 -64
- package/sha256+sha384+sha512+sha512_256+streaming.mjs +0 -64
- package/sha256+sha384+sha512+streaming.cjs +0 -57
- package/sha256+sha384+sha512+streaming.mjs +0 -58
- package/sha256+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -80
- package/sha256+sha384+sha512_256+deserialize+serialize+streaming.mjs +0 -80
- package/sha256+sha384+sha512_256+streaming.cjs +0 -56
- package/sha256+sha384+sha512_256+streaming.mjs +0 -56
- package/sha256+sha384+streaming.cjs +0 -44
- package/sha256+sha384+streaming.mjs +0 -44
- package/sha256+sha512+deserialize+serialize+streaming.cjs +0 -66
- package/sha256+sha512+deserialize+serialize+streaming.mjs +0 -66
- package/sha256+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -80
- package/sha256+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -80
- package/sha256+sha512+sha512_256+streaming.cjs +0 -56
- package/sha256+sha512+sha512_256+streaming.mjs +0 -57
- package/sha256+sha512+streaming.cjs +0 -45
- package/sha256+sha512+streaming.mjs +0 -45
- package/sha256+sha512_256+deserialize+serialize+streaming.cjs +0 -64
- package/sha256+sha512_256+deserialize+serialize+streaming.mjs +0 -64
- package/sha256+sha512_256+streaming.cjs +0 -43
- package/sha256+sha512_256+streaming.mjs +0 -44
- package/sha256+streaming.cjs +0 -21
- package/sha256+streaming.mjs +0 -21
- package/sha384+deserialize+serialize+streaming.cjs +0 -44
- package/sha384+deserialize+serialize+streaming.mjs +0 -44
- package/sha384+sha512+deserialize+serialize+streaming.cjs +0 -61
- package/sha384+sha512+deserialize+serialize+streaming.mjs +0 -61
- package/sha384+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -67
- package/sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -67
- package/sha384+sha512+sha512_256+streaming.cjs +0 -53
- package/sha384+sha512+sha512_256+streaming.mjs +0 -53
- package/sha384+sha512+streaming.cjs +0 -47
- package/sha384+sha512+streaming.mjs +0 -47
- package/sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -59
- package/sha384+sha512_256+deserialize+serialize+streaming.mjs +0 -59
- package/sha384+sha512_256+streaming.cjs +0 -45
- package/sha384+sha512_256+streaming.mjs +0 -45
- package/sha384+streaming.cjs +0 -33
- package/sha384+streaming.mjs +0 -34
- package/sha512+deserialize+serialize+streaming.cjs +0 -44
- package/sha512+deserialize+serialize+streaming.mjs +0 -45
- package/sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -60
- package/sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -60
- package/sha512+sha512_256+streaming.cjs +0 -45
- package/sha512+sha512_256+streaming.mjs +0 -46
- package/sha512+streaming.cjs +0 -34
- package/sha512+streaming.mjs +0 -35
- package/sha512_256+deserialize+serialize+streaming.cjs +0 -43
- package/sha512_256+deserialize+serialize+streaming.mjs +0 -43
- package/sha512_256+streaming.cjs +0 -32
- package/sha512_256+streaming.mjs +0 -33
package/README.md
CHANGED
|
@@ -35,33 +35,35 @@ yarn add @apeleghq/sha2
|
|
|
35
35
|
|
|
36
36
|
## 📦 Package contents
|
|
37
37
|
|
|
38
|
-
- Compiled WebAssembly module (.wasm)
|
|
38
|
+
- Compiled WebAssembly module (.wasm) in two versions:
|
|
39
|
+
* Transpiled to JavaScript
|
|
40
|
+
* As native WASM objects (`/wasm` export path)
|
|
39
41
|
- JS/ESM glue to load the module
|
|
40
42
|
- TypeScript declaration file (.d.ts) — the API described below
|
|
41
|
-
- README, LICENSE
|
|
42
43
|
|
|
43
44
|
## 🔌 API Overview
|
|
44
45
|
|
|
45
|
-
The module exports a single async default function that initialises the WASM
|
|
46
|
+
The module exports a single async default function that initialises the WASM
|
|
47
|
+
module and returns factories for the enabled SHA-2 variants.
|
|
46
48
|
|
|
47
|
-
Signature (from the
|
|
49
|
+
Signature (from the `.d.ts`):
|
|
48
50
|
|
|
49
51
|
- Default export: `async function (): Promise<Sha2Factories<...>>`
|
|
50
52
|
|
|
51
53
|
Returned object contains one property per enabled algorithm (examples: `sha256`, `sha512`, etc.). Each property is a constructor/factory function with these behaviours:
|
|
52
54
|
|
|
53
55
|
Hash instance methods:
|
|
54
|
-
- `update(data:
|
|
55
|
-
- `finalize(scrub?: boolean):
|
|
56
|
+
- `update(data: ArrayBufferLike | ArrayBufferView, scrub?: boolean): void`
|
|
57
|
+
- `finalize(scrub?: boolean): ArrayBufferLike`
|
|
56
58
|
- `reset(): void`
|
|
57
|
-
- `digest(data:
|
|
59
|
+
- `digest(data: ArrayBufferLike | ArrayBufferView, scrub?: boolean): ArrayBuffer` —
|
|
58
60
|
one-shot convenience (throws if instance is streaming)
|
|
59
61
|
|
|
60
|
-
Optional (when serialize feature enabled):
|
|
61
|
-
- `serialize(scrub?: boolean):
|
|
62
|
+
Optional (when `serialize` feature enabled):
|
|
63
|
+
- `serialize(scrub?: boolean): ArrayBufferLike`
|
|
62
64
|
|
|
63
65
|
Constructors may also accept a serialized state to resume:
|
|
64
|
-
- `constructor(serializedData?:
|
|
66
|
+
- `constructor(serializedData?: ArrayBufferLike | ArrayBufferView | null, scrub?: boolean)`
|
|
65
67
|
|
|
66
68
|
See the bundled `.d.ts` for exact types.
|
|
67
69
|
|
|
@@ -94,7 +96,7 @@ h.reset(); // reuse
|
|
|
94
96
|
Serialisation / resuming:
|
|
95
97
|
|
|
96
98
|
```javascript
|
|
97
|
-
import sha2 from '@apeleghq/sha2';
|
|
99
|
+
import sha2 from '@apeleghq/sha2/wasm';
|
|
98
100
|
|
|
99
101
|
const factories = await sha2();
|
|
100
102
|
const h = factories.sha256();
|
|
@@ -118,12 +120,18 @@ Apart from the main export at the root (`@apeleghq/sha2`), there are additional
|
|
|
118
120
|
exports based on specific build-time features. This enables selecting just those
|
|
119
121
|
features that are needed to reduce bundle size.
|
|
120
122
|
|
|
121
|
-
####
|
|
123
|
+
#### WASM exports
|
|
124
|
+
|
|
125
|
+
The `/wasm` export path prefix can be used to select native WASM instead of WASM
|
|
126
|
+
transpiled to JS. For example:
|
|
122
127
|
|
|
128
|
+
- `@apeleghq/sha2` -> `@apeleghq/sha2/wasm`
|
|
129
|
+
- `@apeleghq/sha2/sha256+streaming` -> `@apeleghq/sha2/wasm/sha256+streaming`
|
|
130
|
+
|
|
131
|
+
#### Example
|
|
123
132
|
|
|
124
133
|
```javascript
|
|
125
|
-
|
|
126
|
-
import sha2_ɑ from '@apeleghq/sha2/sha256+sha384+streaming';
|
|
134
|
+
import sha2_ɑ from '@apeleghq/sha2/wasm/sha256+sha384+streaming';
|
|
127
135
|
import sha2_β from '@apeleghq/sha2/sha384+deserialize+serialize+streaming';
|
|
128
136
|
|
|
129
137
|
const factories_ɑ = await sha2_ɑ();
|
|
@@ -171,23 +179,168 @@ const digest = h.digest(new TextEncoder().encode('hello'));
|
|
|
171
179
|
console.log(Buffer.from(digest).toString('hex'));
|
|
172
180
|
```
|
|
173
181
|
|
|
182
|
+
## Benchmark
|
|
183
|
+
|
|
184
|
+
<details>
|
|
185
|
+
<summary>
|
|
186
|
+
Benchmark results comparing various NPM packages and `SubtleCrypto`
|
|
187
|
+
</summary>
|
|
188
|
+
|
|
189
|
+
Generated using the project under the `ecmascript/benchmark` directory in
|
|
190
|
+
Node.js v24.14.0. Like all benchmarks, results are estimative and dependent on
|
|
191
|
+
the specific environment they're generated in.
|
|
192
|
+
|
|
193
|
+
> [!IMPORTANT]
|
|
194
|
+
> All results are experimental and should not be used for production
|
|
195
|
+
> decision-making.
|
|
196
|
+
|
|
197
|
+
### Critical limitations
|
|
198
|
+
|
|
199
|
+
- **Environment-Specific**: Results were measured on:
|
|
200
|
+
- Hardware: Google Axion (Arm64) -- `c4a-standard-2` (2 vCPUs, 8 GB memory)
|
|
201
|
+
- OS: Debian GNU/Linux 13 (trixie)
|
|
202
|
+
- Node.js: v24.14.1
|
|
203
|
+
- **Methodology**:
|
|
204
|
+
- Tests ran with `4096 iterations` per method:
|
|
205
|
+
* 32 trials of 128 runs (plus 64 warm up runs)
|
|
206
|
+
- Measured using `benchmark/src/index.js`
|
|
207
|
+
- **Key Caveats**:
|
|
208
|
+
1. Results **do not account for real-world network delays or memory constraints**.
|
|
209
|
+
2. This benchmark focuses on *raw execution speed*, not security or
|
|
210
|
+
correctness.
|
|
211
|
+
3. Results do not account for conversions between different output formats
|
|
212
|
+
(for example, from `Uint8Array` to `string`).
|
|
213
|
+
|
|
214
|
+
### Results
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
================================================================================
|
|
218
|
+
SHA-256 BENCHMARK RESULTS (All values in ms)
|
|
219
|
+
================================================================================
|
|
220
|
+
|
|
221
|
+
Buffer Size: 1.00 KiB | Iterations: 4096
|
|
222
|
+
--------------------------------------------------------------------------------
|
|
223
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
224
|
+
--------------------------------------------------------------------------------
|
|
225
|
+
hash-wasm 17.753 230719.25 225.31 1.00 ⭐
|
|
226
|
+
@apeleghq/sha2 (WASM) 20.588 198949.70 194.29 1.16
|
|
227
|
+
sha256-uint8array 23.341 175483.48 171.37 1.31
|
|
228
|
+
fast-sha256 27.349 149768.12 146.26 1.54
|
|
229
|
+
@apeleghq/sha2 (ES) 33.844 121026.92 118.19 1.91
|
|
230
|
+
@aws-crypto/sha256-js 42.635 96070.89 93.82 2.40
|
|
231
|
+
sha.js 51.790 79087.98 77.23 2.92
|
|
232
|
+
js-sha256 52.268 78365.01 76.53 2.94
|
|
233
|
+
SubtleCrypto.digest 68.663 59653.84 58.26 3.87
|
|
234
|
+
jssha 102.478 39969.55 39.03 5.77
|
|
235
|
+
================================================================================
|
|
236
|
+
|
|
237
|
+
Buffer Size: 8.00 KiB | Iterations: 4096
|
|
238
|
+
--------------------------------------------------------------------------------
|
|
239
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
240
|
+
--------------------------------------------------------------------------------
|
|
241
|
+
SubtleCrypto.digest 96.141 42603.93 332.84 1.00 ⭐
|
|
242
|
+
hash-wasm 115.893 35342.83 276.12 1.21
|
|
243
|
+
@apeleghq/sha2 (WASM) 124.304 32951.59 257.43 1.29
|
|
244
|
+
fast-sha256 152.721 26820.07 209.53 1.59
|
|
245
|
+
sha256-uint8array 168.277 24340.83 190.16 1.75
|
|
246
|
+
@apeleghq/sha2 (ES) 226.813 18058.93 141.09 2.36
|
|
247
|
+
@aws-crypto/sha256-js 248.146 16506.41 128.96 2.58
|
|
248
|
+
sha.js 376.289 10885.26 85.04 3.91
|
|
249
|
+
js-sha256 378.601 10818.77 84.52 3.94
|
|
250
|
+
jssha 657.563 6229.06 48.66 6.84
|
|
251
|
+
================================================================================
|
|
252
|
+
|
|
253
|
+
Buffer Size: 64.00 KiB | Iterations: 4096
|
|
254
|
+
--------------------------------------------------------------------------------
|
|
255
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
256
|
+
--------------------------------------------------------------------------------
|
|
257
|
+
SubtleCrypto.digest 211.157 19397.90 1212.37 1.00 ⭐
|
|
258
|
+
hash-wasm 906.215 4519.90 282.49 4.29
|
|
259
|
+
@apeleghq/sha2 (WASM) 966.743 4236.91 264.81 4.58
|
|
260
|
+
fast-sha256 1158.363 3536.02 221.00 5.49
|
|
261
|
+
sha256-uint8array 1331.600 3076.00 192.25 6.31
|
|
262
|
+
@apeleghq/sha2 (ES) 1779.562 2301.69 143.86 8.43
|
|
263
|
+
@aws-crypto/sha256-js 1923.719 2129.21 133.08 9.11
|
|
264
|
+
sha.js 2978.650 1375.12 85.94 14.11
|
|
265
|
+
js-sha256 2996.032 1367.14 85.45 14.19
|
|
266
|
+
jssha 5391.971 759.65 47.48 25.54
|
|
267
|
+
================================================================================
|
|
268
|
+
|
|
269
|
+
Buffer Size: 128.00 KiB | Iterations: 4096
|
|
270
|
+
--------------------------------------------------------------------------------
|
|
271
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
272
|
+
--------------------------------------------------------------------------------
|
|
273
|
+
SubtleCrypto.digest 359.274 11400.77 1425.10 1.00 ⭐
|
|
274
|
+
hash-wasm 1808.039 2265.44 283.18 5.03
|
|
275
|
+
@apeleghq/sha2 (WASM) 1929.769 2122.53 265.32 5.37
|
|
276
|
+
fast-sha256 2306.780 1775.64 221.95 6.42
|
|
277
|
+
sha256-uint8array 2660.531 1539.54 192.44 7.41
|
|
278
|
+
@apeleghq/sha2 (ES) 3546.149 1155.06 144.38 9.87
|
|
279
|
+
@aws-crypto/sha256-js 3889.897 1052.98 131.62 10.83
|
|
280
|
+
sha.js 5951.984 688.17 86.02 16.57
|
|
281
|
+
js-sha256 5987.387 684.10 85.51 16.67
|
|
282
|
+
jssha 10723.736 381.96 47.74 29.85
|
|
283
|
+
================================================================================
|
|
284
|
+
|
|
285
|
+
Buffer Size: 1.00 MiB | Iterations: 4096
|
|
286
|
+
--------------------------------------------------------------------------------
|
|
287
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
288
|
+
--------------------------------------------------------------------------------
|
|
289
|
+
SubtleCrypto.digest 2458.762 1665.88 1665.88 1.00 ⭐
|
|
290
|
+
hash-wasm 14453.914 283.38 283.38 5.88
|
|
291
|
+
@apeleghq/sha2 (WASM) 15421.658 265.60 265.60 6.27
|
|
292
|
+
fast-sha256 18399.600 222.61 222.61 7.48
|
|
293
|
+
sha256-uint8array 21265.097 192.62 192.62 8.65
|
|
294
|
+
@apeleghq/sha2 (ES) 28366.398 144.40 144.40 11.54
|
|
295
|
+
@aws-crypto/sha256-js 30942.575 132.37 132.37 12.58
|
|
296
|
+
sha.js 47629.494 86.00 86.00 19.37
|
|
297
|
+
js-sha256 47870.311 85.56 85.56 19.47
|
|
298
|
+
jssha 89912.620 45.56 45.56 36.57
|
|
299
|
+
================================================================================
|
|
300
|
+
|
|
301
|
+
Buffer Size: 8.00 MiB | Iterations: 4096
|
|
302
|
+
--------------------------------------------------------------------------------
|
|
303
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
304
|
+
--------------------------------------------------------------------------------
|
|
305
|
+
SubtleCrypto.digest 19917.685 205.65 1645.17 1.00 ⭐
|
|
306
|
+
hash-wasm 116757.365 35.08 280.65 5.86
|
|
307
|
+
@apeleghq/sha2 (WASM) 124076.017 33.01 264.10 6.23
|
|
308
|
+
fast-sha256 147128.769 27.84 222.72 7.39
|
|
309
|
+
sha256-uint8array 170127.878 24.08 192.61 8.54
|
|
310
|
+
@apeleghq/sha2 (ES) 227447.728 18.01 144.07 11.42
|
|
311
|
+
@aws-crypto/sha256-js 246919.825 16.59 132.71 12.40
|
|
312
|
+
sha.js 380766.733 10.76 86.06 19.12
|
|
313
|
+
js-sha256 382639.567 10.70 85.64 19.21
|
|
314
|
+
jssha 689309.321 5.94 47.54 34.61
|
|
315
|
+
================================================================================
|
|
316
|
+
|
|
317
|
+
================================================================================
|
|
318
|
+
SUMMARY: Fastest package by buffer size
|
|
319
|
+
================================================================================
|
|
320
|
+
Buffer Size Fastest Package
|
|
321
|
+
--------------------------------------------------------------------------------
|
|
322
|
+
1.00 KiB hash-wasm
|
|
323
|
+
8.00 KiB SubtleCrypto.digest
|
|
324
|
+
64.00 KiB SubtleCrypto.digest
|
|
325
|
+
128.00 KiB SubtleCrypto.digest
|
|
326
|
+
1.00 MiB SubtleCrypto.digest
|
|
327
|
+
8.00 MiB SubtleCrypto.digest
|
|
328
|
+
================================================================================
|
|
329
|
+
```
|
|
330
|
+
</details>
|
|
331
|
+
|
|
174
332
|
## ⚙️ Build features
|
|
175
333
|
|
|
176
334
|
Build-time feature flags (available via `import.meta.features` in the bundling
|
|
177
335
|
environment) control which algorithms and optional capabilities are compiled in:
|
|
178
336
|
|
|
179
337
|
- `sha224`, `sha256`, `sha384`, `sha512`, `sha512_256`
|
|
180
|
-
- `serialize`, `deserialize` — enables `serialize
|
|
181
|
-
(for importing and exporting the hasher state)
|
|
338
|
+
- `serialize`, `deserialize` — enables `serialize` / `deserialize` APIs,
|
|
339
|
+
respectively (for importing and exporting the hasher state)
|
|
182
340
|
|
|
183
341
|
The TypeScript declaration mirrors which factories are present according to the
|
|
184
342
|
build features.
|
|
185
343
|
|
|
186
|
-
## 📦 Distribution targets
|
|
187
|
-
|
|
188
|
-
- ESM (recommended)
|
|
189
|
-
- Node.js and browser-compatible WASM + light JS loader included
|
|
190
|
-
|
|
191
344
|
## 🤝 Contributing
|
|
192
345
|
|
|
193
346
|
Contributions welcome. Open issues or pull requests in the repository.
|