hash-wasm-rs

Crates.iohash-wasm-rs
lib.rshash-wasm-rs
version0.1.0
created_at2025-09-20 06:33:24.527341+00
updated_at2025-09-20 06:33:24.527341+00
descriptionA WebAssembly library for computing file hashes, built with Rust.
homepagehttps://github.com/fantasize-zero
repositoryhttps://github.com/fantasize-zero/hash-wasm-rs
max_upload_size
id1847469
size33,611
fantasize (fantasize-zero)

documentation

README

hash-wasm-rs

A WebAssembly library for computing hashes, built with Rust.

Supported algorithms

Name
BLAKE3
MD5
SHA: SHA-224, SHA-256, SHA-384, SHA-512
SHA-3: SHA3-224, SHA3-256, SHA3-384, SHA3-512

Installation

pnpm add hash-wasm-rs

Cargo Example Installation

cargo install hash-wasm-rs

HTML Example usage

Example large file hash calculation

Vite Example usage

pnpm add vite-plugin-wasm

vite.config.ts

import { defineConfig } from "vite";
import wasm from "vite-plugin-wasm";

export default defineConfig(({ mode }) => ({
  plugins: [wasm()],
}));

app.vue

onMounted(async () => {
  try {
    const $hashWasmRs = await import("hash-wasm-rs");
    const result = await $hashWasmRs.md5("Hello, world!");
    console.log(result.hex);
    result.free();
  } catch (error) {
    console.error("WASM error:", error);
  }
});

Development

# Build package WebAssembly library
wasm-pack build --release
# Build HTML WebAssembly library
wasm-pack build --release --target web --out-dir pkg-web
# Build WebAssembly library with SIMD support
RUSTFLAGS="-C target-feature=+simd128" wasm-pack build --release --target web

# Serve the demo page
python3 -m http.server

LICENSE

MIT

Commit count: 22

cargo fmt