webbuf_sha256
SHA-256 hash and HMAC-SHA256 for Rust and WebAssembly.
Installation
[]
= "0.13"
Usage
use ;
// SHA-256 hash
let data = b"abc";
let hash = sha256_hash.unwrap;
assert_eq!;
// Double SHA-256 (used in Bitcoin)
let double_hash = double_sha256_hash.unwrap;
assert_eq!;
// HMAC-SHA256
let key = b"secret key";
let message = b"message";
let mac = sha256_hmac.unwrap;
assert_eq!;
API
| Function | Description |
|---|---|
sha256_hash(data: &[u8]) -> Result<Vec<u8>, String> |
Compute SHA-256 hash (32 bytes) |
double_sha256_hash(data: &[u8]) -> Result<Vec<u8>, String> |
Compute SHA-256(SHA-256(data)) |
sha256_hmac(key: &[u8], data: &[u8]) -> Result<Vec<u8>, String> |
Compute HMAC-SHA256 |
WebAssembly
Build with the wasm feature for WebAssembly support:
[]
= { = "0.13", = ["wasm"] }
The TypeScript wrapper is available as @webbuf/sha256 on npm.
License
MIT