Công cụ tạo & kiểm tra hash Bcrypt

Tạo hash bcrypt cho tài khoản thử nghiệm, dữ liệu mẫu hoặc file cấu hình, và kiểm tra xem một mật khẩu có khớp với hash đã lưu hay không — mà không gửi bất kỳ dữ liệu nào lên máy chủ.

Cập nhật

Tạo hash

🔒 Chạy cục bộ bằng Web Crypto API của trình duyệt — không có nội dung nào bạn nhập được gửi lên máy chủ.

Kiểm tra mật khẩu

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Tạo mục .htpasswd cho Basic Auth Apache và Nginx với bcrypt, APR1-MD5 hoặc SHA1Tạo htpasswd →

Cách dùng Công cụ tạo & kiểm tra Bcrypt

  1. Nhập mật khẩu và chọn hệ số cost (thường là 10–12).
  2. Nhấn Tạo hash; mỗi lần tạo sẽ cho ra một hash khác nhau vì salt được sinh ngẫu nhiên.
  3. Để kiểm tra mật khẩu, dán mật khẩu và hash đã lưu vào mục Kiểm tra mật khẩu.

Bcrypt là gì?

Bcrypt là hàm băm mật khẩu được thiết kế năm 1999 với chủ đích chạy chậm. Mỗi hash bao gồm một salt ngẫu nhiên 128-bit và một hệ số cost: khối lượng tính toán tăng theo 2cost, nên bạn có thể làm cho việc băm chậm hơn khi phần cứng ngày càng nhanh. Nhờ vậy, việc dò mật khẩu từ các hash bị đánh cắp tốn kém hơn nhiều so với các hàm băm nhanh như MD5 hay SHA-256, vốn không nên dùng riêng lẻ để băm mật khẩu.

Cấu trúc của một hash bcrypt

$2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW
 │  │  └ salt 22 ký tự └ hash 31 ký tự

$2b$ là phiên bản thuật toán và 12 là hệ số cost. $2a$, $2b$ và $2y$ tạo ra cùng một hash với mật khẩu thông thường; $2y$ là tên mà PHP và Apache sử dụng, còn $2b$ là chuẩn hiện tại của OpenBSD.

Chọn hệ số cost

CostSố vòng lặpMục đích
4–816–256Chỉ dùng cho unit test
101.024Mặc định phổ biến (Laravel, Node bcrypt)
124.096Lựa chọn tốt cho máy chủ hiện nay (~250 ms)
14+16.384+Rất chậm; có thể làm giảm hiệu năng đăng nhập

Hướng tới khoảng 100–500 ms cho mỗi lần băm trên phần cứng production của bạn. Thời gian hiển thị ở trên được đo trong trình duyệt của bạn và chỉ mang tính tham khảo.

Bcrypt không thể “giải mã”

Bcrypt là thuật toán một chiều: không có khóa nào có thể biến hash ngược lại thành mật khẩu. Việc xác minh hoạt động bằng cách băm mật khẩu cần kiểm tra với salt và cost được lưu trong hash, rồi so sánh kết quả — đúng như cách công cụ kiểm tra này hoạt động. Lưu ý rằng bcrypt bỏ qua mọi thứ sau 72 byte đầu tiên của mật khẩu.

Với file HTTP Basic Auth, hãy dùng công cụ tạo htpasswd; để tạo mật khẩu mạnh, hãy dùng công cụ tạo mật khẩu.

Cũng được tìm dưới tên: tạo hash bcrypt, bcrypt online, kiểm tra bcrypt, bcrypt checker, mã hóa mật khẩu bcrypt, xác minh bcrypt, $2y$ hash.

Các công cụ dùng kèm tốt với Công cụ tạo & kiểm tra Bcrypt

  • Tạo mã Hash — Tính mã hash MD5 và SHA cho mọi văn bản hoặc file ngay lập tức, tạo chữ ký HMAC và dán checksum mong đợi để kiểm tra file tải về.
  • Tạo HMAC Online — Tính chữ ký HMAC có khóa cho các yêu cầu API và webhook, rồi kiểm tra xem chữ ký nhận được có hợp lệ hay không.
  • Kiểm Tra Độ Mạnh Mật Khẩu — Nhập một mật khẩu để xem nó có bao nhiêu tổ hợp có thể, mất bao lâu để bẻ khóa, mẫu nào khiến nó yếu hơn — và nếu muốn, xem nó có xuất hiện trong các vụ rò rỉ dữ liệu đã biết hay không.
  • Giải mã JWT — Dán JSON Web Token vào đây để xem header và payload, kiểm tra thời điểm hết hạn và xác minh chữ ký.

Câu hỏi thường gặp

Có thể giải mã một hash bcrypt không?
Không. Bcrypt là hàm băm một chiều. Bạn chỉ có thể kiểm tra xem một mật khẩu có khớp hay không, và đó chính là chức năng của mục kiểm tra mật khẩu.
Vì sao hash lại khác nhau mỗi lần?
Mỗi hash sử dụng một salt ngẫu nhiên mới, được lưu ngay trong chính hash đó. Các hash khác nhau của cùng một mật khẩu vẫn đều được xác minh đúng.
$2a$, $2b$ và $2y$ có tương thích với nhau không?
Về mặt thực tế thì có — chúng chỉ khác nhau ở cách xử lý các lỗi lịch sử của bản triển khai. Hàm password_verify của PHP chấp nhận cả ba.
Nhập mật khẩu thật vào đây có an toàn không?
Việc băm diễn ra hoàn toàn trong trình duyệt của bạn và không có gì được gửi đi hay lưu lại. Dù vậy, nếu không cần thiết, bạn nên tránh dán mật khẩu production vào bất kỳ website nào.
Tôi có thể cài Công cụ tạo & kiểm tra Bcrypt như một ứng dụng web và dùng khi không có mạng không?
Có. Công cụ tạo & kiểm tra Bcrypt là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan