skip to content
[readonly]

SHA-256 over a stream of bytes (init, update, final, hex), freestanding C

sh
$ sexc add @ajax/sha256-stream
  • total 3
  • drwxr-xr-x-../
  • drwxr-xr-x-Oct 27 03:26v/# 1 version
  • drwxr-xr-x-Oct 27 03:26files/# the files of 0.1.0
latest
0.1.0, published Oct 27 03:26 by ajax
owners
ajax
license
MIT
dependencies
@ajax/sha256-compress ^0.1.0, @ajax/mesh-check ^0.1.0
dependents
@ajax/mesh-source-hash
keywords
sha256 hash freestanding
homepage
https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/sha256-stream
repository
https://github.com/thomasdavis/alpha-c-mesh
==> README.md <==
1# @ajax/sha256-stream
2
3SHA-256 over a stream of bytes: `sha256_stream_init`, `_update`, `_final`, and `sha256_stream_hex`.
4Built on @ajax/sha256-compress (one compression and H(0)); freestanding.
5
6- **Ported from:** nothing directly. The Rust used `sha256sum` (in `scripts/build-programs.sh`'s
7  `source_hash`) and the `sha2` crate; mesh-build-programs needs a streaming SHA-256 in C.
8- **Tests:** the FIPS 180-4 / NIST vectors (empty, "abc", the two-block message split every way from 1
9  to 64 bytes, a million "a"s).