Developers
Languages
Language packages sit under langs/. B3 and X are separate trees — digests are not compatible. See the developers hub.
Experimental. Not for production password storage.
Install from registries
C++ and PHP wrap the Rust C ABI and are not on a separate language registry. Full package list: Developers.
ForgeHash-B3 (forgeh / v=1)
Claim B3 v1 compatible only when all official implementers/v1 vectors match bit-exactly.
| Language | Path | Notes |
|---|---|---|
| Rust | langs/rust/forgeh |
Full native + C ABI; all 4 vectors pass |
| Node.js | langs/nodejs/forgeh |
Full native; all 4 vectors pass |
| Python | langs/python/forgeh |
Full native; all 4 vectors pass |
| C++ | langs/cpp/forgeh |
C++20 / C ABI over Rust |
| PHP | langs/php/forgeh |
PHP 8.1 FFI over Rust |
ForgeHash-X (forgehx / v=0 sandbox)
Custom ForgeX sponge (no BLAKE3). Toy vectors and KATs: X Vectors / implementers/x0. Spec: SPECIFICATION_X.md.
| Language | Path | Notes |
|---|---|---|
| Rust | langs/rust/forgehx |
Full native + C ABI; all 3 toy vectors pass |
| Node.js | langs/nodejs/forgehx |
Full native; all 3 toy vectors pass |
| Python | langs/python/forgehx |
Full native; all 3 toy vectors pass |
| C++ | langs/cpp/forgehx |
C++20 / C ABI over Rust |
| PHP | langs/php/forgehx |
PHP 8.1 FFI over Rust |
Develop from this repo
# B3
cargo test --manifest-path langs/rust/forgeh/Cargo.toml --release
cd langs/nodejs/forgeh && npm install && npm test
cd langs/python/forgeh && python -m pip install -e ".[dev]" && python -m pytest -q
# X (sandbox)
cargo test --manifest-path langs/rust/forgehx/Cargo.toml --release
cd langs/nodejs/forgehx && npm install && npm test
cd langs/python/forgehx && python -m pip install -e ".[dev]" && python -m pytest -q
# CLI (.NET) — pick algorithm
dotnet run --project src/ForgeHash.Cli -- hash --algo x --memory 1024 --password-stdin