| Crates.io | webbuf_blake3 |
| lib.rs | webbuf_blake3 |
| version | 0.15.0 |
| created_at | 2024-10-25 18:57:06.170256+00 |
| updated_at | 2025-12-13 13:43:57.186946+00 |
| description | Blake3 hash function for WebBuf with optional support for WASM. |
| homepage | |
| repository | https://github.com/identellica/webbuf |
| max_upload_size | |
| id | 1422823 |
| size | 48,603 |
BLAKE3 cryptographic hash function for Rust and WebAssembly.
[dependencies]
webbuf_blake3 = "0.13"
use webbuf_blake3::{blake3_hash, double_blake3_hash, blake3_mac};
// Hash data
let data = b"Hello, world!";
let hash = blake3_hash(data).unwrap();
assert_eq!(hash.len(), 32);
// Double hash (hash of hash)
let double_hash = double_blake3_hash(data).unwrap();
assert_eq!(double_hash.len(), 32);
// Keyed MAC (key must be exactly 32 bytes)
let key = [0u8; 32];
let mac = blake3_mac(&key, data).unwrap();
assert_eq!(mac.len(), 32);
| Function | Description |
|---|---|
blake3_hash(data: &[u8]) -> Result<Vec<u8>, String> |
Compute BLAKE3 hash (32 bytes) |
double_blake3_hash(data: &[u8]) -> Result<Vec<u8>, String> |
Compute hash of hash |
blake3_mac(key: &[u8], data: &[u8]) -> Result<Vec<u8>, String> |
Compute keyed MAC (key must be 32 bytes) |
Build with the wasm feature for WebAssembly support:
[dependencies]
webbuf_blake3 = { version = "0.13", features = ["wasm"] }
The TypeScript wrapper is available as @webbuf/blake3 on npm.
MIT