WebBuf WebBuf
Docs

Hashing & KDF

@webbuf/sha256

Rust/wasm optimized SHA-256 hash & HMAC-SHA256

Install

npm install @webbuf/sha256

Usage

import { sha256Hash, doubleSha256Hash, sha256Hmac } from "@webbuf/sha256";
import { WebBuf } from "@webbuf/webbuf";

// SHA-256 hash
const data = WebBuf.fromUtf8("abc");
const hash = sha256Hash(data);
console.log(hash.toHex());
// "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"

// Double SHA-256 (used in Bitcoin)
const doubleHash = doubleSha256Hash(data);

// HMAC-SHA256
const key = WebBuf.fromUtf8("secret key");
const message = WebBuf.fromUtf8("message");
const mac = sha256Hmac(key, message);
console.log(mac.toHex()); // 32-byte HMAC

API reference (3 exports)

Functions

doubleSha256Hash

function
doubleSha256Hash(buf: WebBuf): FixedBuf<32>

sha256Hash

function
sha256Hash(buf: WebBuf): FixedBuf<32>

sha256Hmac

function
sha256Hmac(key: WebBuf, message: WebBuf): FixedBuf<32>