Hà Lanantelle/argon2-browser
Argon2 library compiled for browser runtime
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tuần
#1 Repository Của Tuần
#1 Repository Của Tuần
🔐 Argon2 — Băm mật khẩu an toàn chuẩn PHC chạy trực tiếp trong trình duyệt
Argon2-browser mang thuật toán băm mật khẩu Argon2 (giải nhất cuộc thi PHC) vào môi trường web thông qua WebAssembly, không cần phụ thuộc phía máy chủ.
Dự án antelle/argon2-browser biên dịch trực tiếp mã nguồn Argon2 gốc (dưới dạng submodule) sang WebAssembly để chạy trong trình duyệt. Đây là hàm băm mật khẩu được chọn làm chuẩn an ninh do PHC bảo chứng, hiện được KeeWeb (trình quản lý mật khẩu web) tích hợp làm hàm băm KDF.
✨ Điểm nổi bật
- WebAssembly gốc: Biên dịch trực tiếp từ mã nguồn Argon2 PHC, không sửa đổi.
- Hỗ trợ SIMD tùy chọn: Bản dựng argon2-simd.wasm tăng tốc lên tới 47% trên Chrome (119ms so với 225ms).
- Kích thước nhỏ gọn: Chỉ 14KB argon2.js + 25KB argon2.wasm.
- API bất đồng bộ: Dùng Promise với phương thức argon2.hash() và argon2.verify().
- Cấu hình đầy đủ: Hỗ trợ tham số thời gian, bộ nhớ, độ dài hash, độ song song, secret, ad, và 3 loại Argon2 (Argon2d/i/id).
- Tích hợp KeeWeb: Được dùng thực tế trong trình quản lý mật khẩu web KeeWeb.
- Hỗ trợ bundler: Tương thích WebPack, React, vanilla JS, và có ví dụ Node.js.
💡 Vì sao đáng chú ý
Khác với cách tiếp cận dùng thư viện băm phía máy chủ, Argon2-browser cho phép thực hiện toàn bộ quá trình băm mật khẩu trong trình duyệt — giảm rủi ro rò rỉ mật khẩu và giảm tải backend. Đặc biệt phù hợp cho ứng dụng web yêu cầu bảo mật cao như quản lý mật khẩu (ví dụ KeeWeb) hoặc mã hóa dữ liệu phía client.
Tuy nhiên, phiên bản native (dùng addon Node.js như node-argon2) vẫn nhanh gấp ~15 lần so với WASM do overhead của môi trường web — nên chỉ dùng phiên bản này khi thực sự cần chạy trong trình duyệt.
#Argon2 #WebAssembly #PasswordHashing #KeeWeb #WebSecurity #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
Slint is an open-source declarative GUI toolkit to build native user interfaces for Rust, C++, JavaScript, or Python apps.
A lightweight WebAssembly runtime that is fast, secure, and standards-compliant
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.