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.

LanguagePathNotes
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.

LanguagePathNotes
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