| Crates.io | noctahash |
| lib.rs | noctahash |
| version | 0.1.0 |
| created_at | 2026-01-22 21:01:16.215223+00 |
| updated_at | 2026-01-22 21:01:16.215223+00 |
| description | Memory-hard password hashing algorithm designed to resist GPU, ASIC, and side-channel attacks |
| homepage | |
| repository | https://github.com/Tuna4LL/noctahash |
| max_upload_size | |
| id | 2062619 |
| size | 59,432 |
Memory-hard password hashing algorithm implemented in Rust.
NoctaHash is a production-grade password hashing system designed to resist GPU, ASIC, and side-channel attacks. It features memory-hardness, time-hardness, and true parallel execution with deterministic results.
Add to Cargo.toml:
[dependencies]
noctahash = "0.1.0"
use noctahash::{noctahash, verify};
// Create hash
let hash = noctahash("password", None, 3, 64, 4, "base64")?;
// Verify password
let is_valid = verify("password", &hash);
let salt = b"your_32_byte_salt_here";
let hash = noctahash("password", Some(salt), 3, 64, 4, "base64")?;
| Use Case | time_cost | memory_mb | parallelism |
|---|---|---|---|
| Development | 1 | 16 | 2 |
| Production | 3 | 64 | 4 |
| High Security | 4 | 128 | 4 |
$noctahash$v=1$t=3,m=64,p=4$<salt>$<hash>
cargo build --release
./target/release/noctahash <password> [time_cost] [memory_mb] [parallelism]
Typical performance on modern hardware:
t=3, m=64, p=4: ~500mst=2, m=32, p=2: ~150mst=1, m=16, p=1: ~50msnoctahash(password, salt, time_cost, memory_mb, parallelism, encoding) - Create hashverify(password, hash_string) - Verify passwordNoctaHashCore::new(time_cost, memory_mb, parallelism) - Create core instanceNoctaHashCore::compute(password, salt) - Compute raw hashcargo build --release
cargo test
MIT
Tuna4L - GitHub