@apeleghq/sha2 0.1.1 → 0.1.2
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.cjs → sha224+deserialize+serialize+streaming.es.cjs} +32 -32
- package/{sha224+deserialize+serialize+streaming.mjs → sha224+deserialize+serialize+streaming.es.mjs} +28 -28
- 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 +37 -0
- package/{sha224+sha256+deserialize+serialize+streaming.mjs → sha224+sha256+deserialize+serialize+streaming.es.mjs} +18 -18
- 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 +70 -0
- package/sha224+sha256+sha384+deserialize+serialize+streaming.es.mjs +70 -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.cjs → sha224+sha256+sha384+sha512+deserialize+serialize+streaming.es.cjs} +56 -55
- package/{sha224+sha256+sha384+sha512+deserialize+serialize+streaming.mjs → sha224+sha256+sha384+sha512+deserialize+serialize+streaming.es.mjs} +58 -57
- 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 +92 -0
- package/sha224+sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +93 -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.cjs → sha224+sha256+sha384+sha512+sha512_256+streaming.es.cjs} +51 -50
- package/{sha224+sha256+sha384+sha512+sha512_256+streaming.mjs → sha224+sha256+sha384+sha512+sha512_256+streaming.es.mjs} +42 -41
- 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.cjs → sha224+sha256+sha384+sha512+streaming.es.cjs} +40 -40
- package/{sha224+sha256+sha384+sha512+streaming.mjs → sha224+sha256+sha384+sha512+streaming.es.mjs} +39 -39
- 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.cjs → sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.es.cjs} +56 -56
- package/{sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha256+sha384+sha512_256+deserialize+serialize+streaming.es.mjs} +58 -58
- 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 +61 -0
- package/sha224+sha256+sha384+sha512_256+streaming.es.mjs +61 -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 +48 -0
- package/{sha224+sha256+sha384+streaming.mjs → sha224+sha256+sha384+streaming.es.mjs} +34 -34
- 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 +70 -0
- package/sha224+sha256+sha512+deserialize+serialize+streaming.es.mjs +70 -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.cjs → sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.es.cjs} +51 -50
- package/{sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha256+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +49 -49
- 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.cjs → sha224+sha256+sha512+sha512_256+streaming.es.cjs} +42 -42
- package/{sha224+sha256+sha512+sha512_256+streaming.mjs → sha224+sha256+sha512+sha512_256+streaming.es.mjs} +42 -42
- 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.cjs → sha224+sha256+sha512+streaming.es.cjs} +37 -37
- package/sha224+sha256+sha512+streaming.es.mjs +49 -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 +69 -0
- package/sha224+sha256+sha512_256+deserialize+serialize+streaming.es.mjs +68 -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.cjs → sha224+sha256+sha512_256+streaming.es.cjs} +32 -32
- package/{sha224+sha256+sha512_256+streaming.mjs → sha224+sha256+sha512_256+streaming.es.mjs} +31 -31
- 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 +26 -0
- package/sha224+sha256+streaming.es.mjs +26 -0
- package/sha224+sha256+streaming.wasm.cjs +6 -0
- package/sha224+sha256+streaming.wasm.mjs +7 -0
- package/{sha224+sha384+deserialize+serialize+streaming.cjs → sha224+sha384+deserialize+serialize+streaming.es.cjs} +51 -50
- package/{sha224+sha384+deserialize+serialize+streaming.mjs → sha224+sha384+deserialize+serialize+streaming.es.mjs} +48 -47
- 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.mjs → sha224+sha384+sha512+deserialize+serialize+streaming.es.cjs} +57 -56
- package/sha224+sha384+sha512+deserialize+serialize+streaming.es.mjs +82 -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.cjs → sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs} +50 -50
- package/{sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +49 -49
- 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.cjs → sha224+sha384+sha512+sha512_256+streaming.es.cjs} +46 -46
- package/sha224+sha384+sha512+sha512_256+streaming.es.mjs +64 -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 +58 -0
- package/{sha224+sha384+sha512+streaming.mjs → sha224+sha384+sha512+streaming.es.mjs} +34 -33
- 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.mjs → sha224+sha384+sha512_256+deserialize+serialize+streaming.es.cjs} +56 -56
- package/sha224+sha384+sha512_256+deserialize+serialize+streaming.es.mjs +80 -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 +56 -0
- package/sha224+sha384+sha512_256+streaming.es.mjs +56 -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.cjs → sha224+sha384+streaming.es.cjs} +29 -29
- package/sha224+sha384+streaming.es.mjs +44 -0
- package/sha224+sha384+streaming.wasm.cjs +6 -0
- package/sha224+sha384+streaming.wasm.mjs +7 -0
- package/{sha224+sha512+deserialize+serialize+streaming.cjs → sha224+sha512+deserialize+serialize+streaming.es.cjs} +48 -48
- package/{sha224+sha512+deserialize+serialize+streaming.mjs → sha224+sha512+deserialize+serialize+streaming.es.mjs} +45 -45
- 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 +81 -0
- package/{sha224+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +56 -56
- 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.cjs → sha224+sha512+sha512_256+streaming.es.cjs} +33 -32
- package/sha224+sha512+sha512_256+streaming.es.mjs +57 -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 +45 -0
- package/{sha224+sha512+streaming.mjs → sha224+sha512+streaming.es.mjs} +29 -29
- package/sha224+sha512+streaming.wasm.cjs +6 -0
- package/sha224+sha512+streaming.wasm.mjs +7 -0
- package/{sha224+sha512_256+deserialize+serialize+streaming.cjs → sha224+sha512_256+deserialize+serialize+streaming.es.cjs} +46 -45
- package/{sha224+sha512_256+deserialize+serialize+streaming.mjs → sha224+sha512_256+deserialize+serialize+streaming.es.mjs} +45 -44
- 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.cjs → sha224+sha512_256+streaming.es.cjs} +28 -27
- package/{sha224+sha512_256+streaming.mjs → sha224+sha512_256+streaming.es.mjs} +27 -26
- package/sha224+sha512_256+streaming.wasm.cjs +6 -0
- package/sha224+sha512_256+streaming.wasm.mjs +7 -0
- package/{sha224+streaming.cjs → sha224+streaming.es.cjs} +18 -18
- package/{sha224+streaming.mjs → sha224+streaming.es.mjs} +18 -17
- package/sha224+streaming.wasm.cjs +6 -0
- package/sha224+streaming.wasm.mjs +6 -0
- package/{sha256+deserialize+serialize+streaming.cjs → sha256+deserialize+serialize+streaming.es.cjs} +31 -31
- package/{sha256+deserialize+serialize+streaming.mjs → sha256+deserialize+serialize+streaming.es.mjs} +26 -26
- package/sha256+deserialize+serialize+streaming.wasm.cjs +7 -0
- package/sha256+deserialize+serialize+streaming.wasm.mjs +7 -0
- package/{sha256+sha384+deserialize+serialize+streaming.cjs → sha256+sha384+deserialize+serialize+streaming.es.cjs} +48 -47
- package/{sha256+sha384+deserialize+serialize+streaming.mjs → sha256+sha384+deserialize+serialize+streaming.es.mjs} +47 -47
- 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.mjs → sha256+sha384+sha512+deserialize+serialize+streaming.es.cjs} +56 -55
- package/sha256+sha384+sha512+deserialize+serialize+streaming.es.mjs +82 -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.cjs → sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.cjs} +50 -50
- package/{sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha256+sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +50 -50
- 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 +64 -0
- package/sha256+sha384+sha512+sha512_256+streaming.es.mjs +64 -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 +58 -0
- package/sha256+sha384+sha512+streaming.es.mjs +58 -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 +80 -0
- package/{sha256+sha384+sha512_256+deserialize+serialize+streaming.mjs → sha256+sha384+sha512_256+deserialize+serialize+streaming.es.mjs} +55 -55
- 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 +56 -0
- package/sha256+sha384+sha512_256+streaming.es.mjs +56 -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.cjs → sha256+sha384+streaming.es.cjs} +30 -29
- package/sha256+sha384+streaming.es.mjs +45 -0
- package/sha256+sha384+streaming.wasm.cjs +6 -0
- package/sha256+sha384+streaming.wasm.mjs +7 -0
- package/{sha256+sha512+deserialize+serialize+streaming.cjs → sha256+sha512+deserialize+serialize+streaming.es.cjs} +45 -45
- package/{sha256+sha512+deserialize+serialize+streaming.mjs → sha256+sha512+deserialize+serialize+streaming.es.mjs} +44 -44
- 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 +81 -0
- package/{sha256+sha512+sha512_256+deserialize+serialize+streaming.mjs → sha256+sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +54 -53
- 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 +57 -0
- package/sha256+sha512+sha512_256+streaming.es.mjs +57 -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.cjs → sha256+sha512+streaming.es.cjs} +30 -30
- package/{sha256+sha512+streaming.mjs → sha256+sha512+streaming.es.mjs} +29 -29
- package/sha256+sha512+streaming.wasm.cjs +6 -0
- package/sha256+sha512+streaming.wasm.mjs +7 -0
- package/{sha256+sha512_256+deserialize+serialize+streaming.cjs → sha256+sha512_256+deserialize+serialize+streaming.es.cjs} +49 -48
- package/{sha256+sha512_256+deserialize+serialize+streaming.mjs → sha256+sha512_256+deserialize+serialize+streaming.es.mjs} +46 -45
- 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.cjs → sha256+sha512_256+streaming.es.cjs} +28 -27
- package/{sha256+sha512_256+streaming.mjs → sha256+sha512_256+streaming.es.mjs} +28 -28
- package/sha256+sha512_256+streaming.wasm.cjs +6 -0
- package/sha256+sha512_256+streaming.wasm.mjs +7 -0
- package/sha256+streaming.es.cjs +21 -0
- package/sha256+streaming.es.mjs +22 -0
- package/sha256+streaming.wasm.cjs +6 -0
- package/sha256+streaming.wasm.mjs +6 -0
- package/sha384+deserialize+serialize+streaming.es.cjs +44 -0
- package/sha384+deserialize+serialize+streaming.es.mjs +44 -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.cjs → sha384+sha512+deserialize+serialize+streaming.es.cjs} +33 -33
- package/{sha384+sha512+deserialize+serialize+streaming.mjs → sha384+sha512+deserialize+serialize+streaming.es.mjs} +32 -32
- 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 +68 -0
- package/sha384+sha512+sha512_256+deserialize+serialize+streaming.es.mjs +68 -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.cjs → sha384+sha512+sha512_256+streaming.es.cjs} +35 -34
- package/{sha384+sha512+sha512_256+streaming.mjs → sha384+sha512+sha512_256+streaming.es.mjs} +33 -33
- 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 +47 -0
- package/sha384+sha512+streaming.es.mjs +47 -0
- package/sha384+sha512+streaming.wasm.cjs +6 -0
- package/sha384+sha512+streaming.wasm.mjs +7 -0
- package/{sha384+sha512_256+deserialize+serialize+streaming.cjs → sha384+sha512_256+deserialize+serialize+streaming.es.cjs} +34 -33
- package/{sha384+sha512_256+deserialize+serialize+streaming.mjs → sha384+sha512_256+deserialize+serialize+streaming.es.mjs} +33 -32
- 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.cjs → sha384+sha512_256+streaming.es.cjs} +31 -30
- package/{sha384+sha512_256+streaming.mjs → sha384+sha512_256+streaming.es.mjs} +29 -28
- package/sha384+sha512_256+streaming.wasm.cjs +6 -0
- package/sha384+sha512_256+streaming.wasm.mjs +7 -0
- package/sha384+streaming.es.cjs +34 -0
- package/sha384+streaming.es.mjs +34 -0
- package/sha384+streaming.wasm.cjs +6 -0
- package/sha384+streaming.wasm.mjs +6 -0
- package/sha512+deserialize+serialize+streaming.es.cjs +45 -0
- package/sha512+deserialize+serialize+streaming.es.mjs +45 -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.cjs → sha512+sha512_256+deserialize+serialize+streaming.es.cjs} +35 -35
- package/{sha512+sha512_256+deserialize+serialize+streaming.mjs → sha512+sha512_256+deserialize+serialize+streaming.es.mjs} +32 -32
- 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.cjs → sha512+sha512_256+streaming.es.cjs} +30 -29
- package/{sha512+sha512_256+streaming.mjs → sha512+sha512_256+streaming.es.mjs} +27 -27
- package/sha512+sha512_256+streaming.wasm.cjs +6 -0
- package/sha512+sha512_256+streaming.wasm.mjs +7 -0
- package/sha512+streaming.es.cjs +35 -0
- package/{sha512+streaming.mjs → sha512+streaming.es.mjs} +25 -25
- package/sha512+streaming.wasm.cjs +6 -0
- package/sha512+streaming.wasm.mjs +6 -0
- package/sha512_256+deserialize+serialize+streaming.es.cjs +43 -0
- package/sha512_256+deserialize+serialize+streaming.es.mjs +43 -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 +33 -0
- package/sha512_256+streaming.es.mjs +33 -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+sha256+deserialize+serialize+streaming.cjs +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+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_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+sha512+deserialize+serialize+streaming.cjs +0 -70
- package/sha224+sha256+sha512+deserialize+serialize+streaming.mjs +0 -70
- 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+streaming.cjs +0 -26
- package/sha224+sha256+streaming.mjs +0 -26
- package/sha224+sha384+sha512+deserialize+serialize+streaming.cjs +0 -81
- package/sha224+sha384+sha512+sha512_256+streaming.mjs +0 -64
- package/sha224+sha384+sha512+streaming.cjs +0 -57
- package/sha224+sha384+sha512_256+deserialize+serialize+streaming.cjs +0 -80
- package/sha224+sha384+sha512_256+streaming.cjs +0 -56
- package/sha224+sha384+sha512_256+streaming.mjs +0 -56
- package/sha224+sha384+streaming.mjs +0 -44
- package/sha224+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -80
- package/sha224+sha512+sha512_256+streaming.mjs +0 -56
- package/sha224+sha512+streaming.cjs +0 -45
- package/sha256+sha384+sha512+deserialize+serialize+streaming.cjs +0 -81
- 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+streaming.cjs +0 -56
- package/sha256+sha384+sha512_256+streaming.mjs +0 -56
- package/sha256+sha384+streaming.mjs +0 -44
- package/sha256+sha512+sha512_256+deserialize+serialize+streaming.cjs +0 -80
- package/sha256+sha512+sha512_256+streaming.cjs +0 -56
- package/sha256+sha512+sha512_256+streaming.mjs +0 -57
- 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+sha512_256+deserialize+serialize+streaming.cjs +0 -67
- package/sha384+sha512+sha512_256+deserialize+serialize+streaming.mjs +0 -67
- package/sha384+sha512+streaming.cjs +0 -47
- package/sha384+sha512+streaming.mjs +0 -47
- 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+streaming.cjs +0 -34
- 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 12 (bookworm)
|
|
202
|
+
- Node.js: v24.14.0
|
|
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.821 229844.87 224.46 1.00 ⭐
|
|
226
|
+
@apeleghq/sha2 (WASM) 21.570 189896.28 185.45 1.21
|
|
227
|
+
sha256-uint8array 23.286 175901.87 171.78 1.31
|
|
228
|
+
fast-sha256 27.405 149464.30 145.96 1.54
|
|
229
|
+
@apeleghq/sha2 (ES) 34.700 118039.06 115.27 1.95
|
|
230
|
+
@aws-crypto/sha256-js 42.605 96139.81 93.89 2.39
|
|
231
|
+
js-sha256 52.008 78756.57 76.91 2.92
|
|
232
|
+
sha.js 52.201 78466.52 76.63 2.93
|
|
233
|
+
SubtleCrypto.digest 70.314 58252.77 56.89 3.95
|
|
234
|
+
jssha 102.638 39907.12 38.97 5.76
|
|
235
|
+
================================================================================
|
|
236
|
+
|
|
237
|
+
Buffer Size: 8.00 KiB | Iterations: 4096
|
|
238
|
+
--------------------------------------------------------------------------------
|
|
239
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
240
|
+
--------------------------------------------------------------------------------
|
|
241
|
+
SubtleCrypto.digest 92.174 44437.72 347.17 1.00 ⭐
|
|
242
|
+
hash-wasm 115.905 35339.44 276.09 1.26
|
|
243
|
+
@apeleghq/sha2 (WASM) 138.932 29481.99 230.33 1.51
|
|
244
|
+
fast-sha256 152.459 26866.25 209.89 1.65
|
|
245
|
+
sha256-uint8array 168.342 24331.43 190.09 1.83
|
|
246
|
+
@apeleghq/sha2 (ES) 234.541 17463.87 136.44 2.54
|
|
247
|
+
@aws-crypto/sha256-js 247.764 16531.86 129.16 2.69
|
|
248
|
+
sha.js 376.521 10878.55 84.99 4.08
|
|
249
|
+
js-sha256 378.958 10808.59 84.44 4.11
|
|
250
|
+
jssha 657.468 6229.96 48.67 7.13
|
|
251
|
+
================================================================================
|
|
252
|
+
|
|
253
|
+
Buffer Size: 64.00 KiB | Iterations: 4096
|
|
254
|
+
--------------------------------------------------------------------------------
|
|
255
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
256
|
+
--------------------------------------------------------------------------------
|
|
257
|
+
SubtleCrypto.digest 213.336 19199.79 1199.99 1.00 ⭐
|
|
258
|
+
hash-wasm 906.780 4517.08 282.32 4.25
|
|
259
|
+
@apeleghq/sha2 (WASM) 1082.871 3782.54 236.41 5.08
|
|
260
|
+
fast-sha256 1158.839 3534.57 220.91 5.43
|
|
261
|
+
sha256-uint8array 1331.819 3075.49 192.22 6.24
|
|
262
|
+
@apeleghq/sha2 (ES) 1839.875 2226.24 139.14 8.62
|
|
263
|
+
@aws-crypto/sha256-js 1919.013 2134.43 133.40 9.00
|
|
264
|
+
sha.js 2982.336 1373.42 85.84 13.98
|
|
265
|
+
js-sha256 2999.960 1365.35 85.33 14.06
|
|
266
|
+
jssha 5335.070 767.75 47.98 25.01
|
|
267
|
+
================================================================================
|
|
268
|
+
|
|
269
|
+
Buffer Size: 128.00 KiB | Iterations: 4096
|
|
270
|
+
--------------------------------------------------------------------------------
|
|
271
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
272
|
+
--------------------------------------------------------------------------------
|
|
273
|
+
SubtleCrypto.digest 358.483 11425.94 1428.24 1.00 ⭐
|
|
274
|
+
hash-wasm 1809.927 2263.07 282.88 5.05
|
|
275
|
+
@apeleghq/sha2 (WASM) 2161.730 1894.78 236.85 6.03
|
|
276
|
+
fast-sha256 2307.237 1775.28 221.91 6.44
|
|
277
|
+
sha256-uint8array 2662.413 1538.45 192.31 7.43
|
|
278
|
+
@apeleghq/sha2 (ES) 3674.348 1114.76 139.34 10.25
|
|
279
|
+
@aws-crypto/sha256-js 3875.821 1056.81 132.10 10.81
|
|
280
|
+
sha.js 5963.498 686.85 85.86 16.64
|
|
281
|
+
js-sha256 5997.562 682.94 85.37 16.73
|
|
282
|
+
jssha 10624.567 385.52 48.19 29.64
|
|
283
|
+
================================================================================
|
|
284
|
+
|
|
285
|
+
Buffer Size: 1.00 MiB | Iterations: 4096
|
|
286
|
+
--------------------------------------------------------------------------------
|
|
287
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
288
|
+
--------------------------------------------------------------------------------
|
|
289
|
+
SubtleCrypto.digest 2460.611 1664.63 1664.63 1.00 ⭐
|
|
290
|
+
hash-wasm 14455.977 283.34 283.34 5.87
|
|
291
|
+
@apeleghq/sha2 (WASM) 17273.645 237.12 237.12 7.02
|
|
292
|
+
fast-sha256 18400.186 222.61 222.61 7.48
|
|
293
|
+
sha256-uint8array 21268.677 192.58 192.58 8.64
|
|
294
|
+
@apeleghq/sha2 (ES) 29377.296 139.43 139.43 11.94
|
|
295
|
+
@aws-crypto/sha256-js 30883.621 132.63 132.63 12.55
|
|
296
|
+
sha.js 47633.245 85.99 85.99 19.36
|
|
297
|
+
js-sha256 47922.980 85.47 85.47 19.48
|
|
298
|
+
jssha 88358.879 46.36 46.36 35.91
|
|
299
|
+
================================================================================
|
|
300
|
+
|
|
301
|
+
Buffer Size: 8.00 MiB | Iterations: 4096
|
|
302
|
+
--------------------------------------------------------------------------------
|
|
303
|
+
Package Time (ms) Ops/s MiB/s Relative
|
|
304
|
+
--------------------------------------------------------------------------------
|
|
305
|
+
SubtleCrypto.digest 19906.582 205.76 1646.09 1.00 ⭐
|
|
306
|
+
hash-wasm 116755.581 35.08 280.65 5.87
|
|
307
|
+
@apeleghq/sha2 (WASM) 138838.406 29.50 236.02 6.97
|
|
308
|
+
fast-sha256 147150.129 27.84 222.68 7.39
|
|
309
|
+
sha256-uint8array 170153.840 24.07 192.58 8.55
|
|
310
|
+
@apeleghq/sha2 (ES) 235558.740 17.39 139.11 11.83
|
|
311
|
+
@aws-crypto/sha256-js 246980.488 16.58 132.67 12.41
|
|
312
|
+
sha.js 381080.391 10.75 85.99 19.14
|
|
313
|
+
js-sha256 383169.696 10.69 85.52 19.25
|
|
314
|
+
jssha 693626.187 5.91 47.24 34.84
|
|
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.
|