bcrypt Generator: Tạo & Kiểm Tra Hash Mật Khẩu Online
Công cụ bcrypt generator này biến mọi mật khẩu thành một hash bcrypt an toàn và kiểm tra xem một mật khẩu có khớp với hash có sẵn hay không — ngay trong trình duyệt của bạn. Nó được thiết kế cho lập trình viên cần khởi tạo dữ liệu cho cơ sở dữ liệu, thử luồng đăng nhập hay kiểm tra một hash bcrypt đã lưu mà không phải viết code.
bcrypt là thuật toán băm mật khẩu cố ý chạy chậm với salt tích hợp sẵn, khiến hash khó dò tìm vét cạn hơn nhiều so với các hàm nhanh như MD5 hay SHA-256. Hãy chọn hệ số chi phí từ 4 đến 31, chuyển giữa Tạo và Kiểm tra, phần còn lại để công cụ xử lý bằng thư viện bcryptjs.
Cách Dùng bcrypt Generator
Chọn Tạo hoặc Kiểm tra
Dùng tab Tạo để tạo hash mới từ một mật khẩu, hoặc tab Kiểm tra để xem một mật khẩu có khớp với hash bcrypt có sẵn hay không.
Nhập dữ liệu của bạn
Nhập mật khẩu cần mã hóa. Ở chế độ Kiểm tra, dán thêm hash bcrypt mà bạn muốn đối chiếu. Nhấn Dữ liệu mẫu để điền nhanh các giá trị ví dụ.
Chọn hệ số chi phí
Đặt Hệ số chi phí (số vòng lặp) cho các hash mới. Giá trị mặc định 12 phù hợp với hầu hết ứng dụng thực tế, và một huy hiệu được tô màu sẽ cho biết mức độ bảo mật ứng với lựa chọn của bạn.
Tạo hoặc kiểm tra
Nhấn Tạo hash để tạo ra hash, rồi sao chép nó chỉ với một cú chạm. Ở chế độ Kiểm tra, nhấn Kiểm tra mật khẩu để thấy kết quả Khớp màu xanh hoặc Không khớp màu đỏ.
Cấu Trúc Của Một Hash bcrypt
Mọi hash mà công cụ này tạo ra đều dùng phiên bản hiện đại $2b$ và đóng gói thuật toán, chi phí, salt và digest vào một chuỗi duy nhất:
$2b$12$WApznUPhDubN0oeveSFPpOLo0dVMFJ.3CC9TmGkMxLFvnEGbgm4jq
$2b$ — Phiên bản
Mã định danh thuật toán. 2b là chuẩn hiện hành; công cụ tạo hash 2b và có thể kiểm tra 2a, 2b và 2y.
12 — Hệ số chi phí
Số vòng lặp, trong đó số lần lặp = 2^chi phí. Chi phí 12 nghĩa là 2^12 = 4.096 lần lặp cho mỗi hash.
Salt — 22 ký tự kế tiếp
Một salt ngẫu nhiên duy nhất, mã hóa Base64, được sinh ra cho mỗi hash để vô hiệu hóa các bảng rainbow tính sẵn.
Hash — 31 ký tự cuối
Digest mã hóa Base64 của mật khẩu kết hợp với salt ở mức chi phí đã chọn.
Tính Năng
Chế độ Tạo & Kiểm tra
Tạo một hash bcrypt mới từ mật khẩu, hoặc chuyển tab để xem một mật khẩu có khớp với hash có sẵn hay không.
Hệ số chi phí tùy chỉnh
Chọn chi phí bất kỳ từ 4 đến 31 vòng lặp để cân bằng giữa độ mạnh của hash và tốc độ tạo.
Huy hiệu mức độ bảo mật
Một huy hiệu được tô màu gắn nhãn mỗi mức chi phí là Thấp, Trung bình, Khuyến nghị, Cao hoặc Rất cao chỉ trong nháy mắt.
Phân tích chi tiết hash
Mỗi kết quả hiển thị phiên bản thuật toán và hệ số chi phí để bạn đọc được hash trong nháy mắt.
Thời gian tạo
Thời gian chính xác được hiển thị cho mỗi lần tạo và kiểm tra, để bạn ước lượng được cái giá của việc tăng số vòng lặp.
Kiểm tra đa phiên bản
Chế độ Kiểm tra chấp nhận hash $2a$, $2b$ và $2y$ và cảnh báo các định dạng không hợp lệ.
Sao chép một cú nhấn
Sao chép hash đã tạo vào bộ nhớ tạm chỉ với một cú chạm, sẵn sàng để dán vào code hoặc cơ sở dữ liệu của bạn.
Dữ liệu mẫu & Xóa
Nạp các giá trị ví dụ để thử ngay lập tức, rồi xóa các trường để bắt đầu lại bất cứ khi nào bạn muốn.
100% phía client
Mọi thứ chạy trong trình duyệt của bạn bằng thư viện bcryptjs — không có mật khẩu nào rời khỏi thiết bị của bạn.
Chọn Đúng Hệ Số Chi Phí
Số vòng lặp càng cao thì hash càng mạnh nhưng tạo càng chậm. Hãy dùng các khoảng dưới đây làm điểm khởi đầu và điều chỉnh theo phần cứng của bạn:
| Vòng lặp | Mức độ | Trường hợp dùng |
|---|---|---|
| 4–9 | Thấp | Chỉ dùng để phát triển và thử nghiệm |
| 10–11 | Trung bình | Ứng dụng bảo mật thấp |
| 12–13 | Khuyến nghị | Ứng dụng thực tế |
| 14–17 | Cao | Hệ thống bảo mật cao |
| 18–31 | Rất cao | Bảo mật tối đa (tạo chậm) |
Câu Hỏi Thường Gặp
Làm thế nào để tạo một hash bcrypt?
Ở tab Tạo, nhập mật khẩu của bạn, chọn một hệ số chi phí (12 là mặc định tốt) và nhấn Tạo hash. Hash bcrypt xuất hiện ngay lập tức, và bạn có thể sao chép nó chỉ với một cú chạm.
Có thể giải mã hay đảo ngược một hash bcrypt không?
Không. bcrypt là thuật toán băm một chiều, không phải mã hóa, nên một hash không thể được biến ngược lại thành mật khẩu gốc. Cách duy nhất để xác nhận một mật khẩu là băm lại và so sánh — đó chính xác là điều mà tab Kiểm tra thực hiện.
Làm thế nào để kiểm tra mật khẩu với một hash bcrypt?
Chuyển sang tab Kiểm tra, nhập mật khẩu, dán hash bcrypt và nhấn Kiểm tra mật khẩu. Kết quả hiển thị Khớp màu xanh nếu mật khẩu tạo ra hash đó, hoặc Không khớp màu đỏ nếu không.
Vì sao cùng một mật khẩu lại cho ra hash khác nhau mỗi lần?
bcrypt nhúng một salt ngẫu nhiên duy nhất vào mỗi hash, nên ngay cả mật khẩu giống hệt nhau cũng tạo ra những chuỗi hoàn toàn khác nhau. Đây là chủ ý thiết kế — nó vô hiệu hóa các đòn tấn công bằng bảng rainbow tính sẵn. Việc kiểm tra vẫn hoạt động vì salt được lưu ngay trong chính hash.
Salt rounds và hệ số chi phí là gì?
Hệ số chi phí (còn gọi là số vòng lặp) quyết định bcrypt phải làm bao nhiêu việc: số lần lặp bằng 2 mũ chi phí. Số càng cao thì việc băm chậm đi theo cấp số nhân và do đó khó dò tìm vét cạn hơn. Với hầu hết ứng dụng thực tế, 12 vòng lặp cân bằng tốt giữa bảo mật và hiệu năng.
Khác biệt giữa $2a$, $2b$ và $2y$ là gì?
$2a$ là đặc tả gốc, $2b$ là phiên bản cập nhật khắc phục cách xử lý mật khẩu dài, và $2y$ là mã định danh của PHP. Cả ba đều tương thích — công cụ này tạo hash $2b$ và có thể kiểm tra cả ba định dạng.
Có giới hạn độ dài mật khẩu không?
bcrypt xử lý tối đa 72 byte đầu vào và lặng lẽ cắt bỏ phần dài hơn. Điều này hiếm khi là vấn đề, nhưng nếu bạn cần băm các cụm mật khẩu rất dài, hãy băm trước bằng SHA-256 rồi mới áp dụng bcrypt.
Mật khẩu của tôi có an toàn khi dùng công cụ này không?
Có. Mọi quá trình mã hóa và kiểm tra đều diễn ra hoàn toàn trong trình duyệt của bạn bằng thư viện bcryptjs — mật khẩu của bạn không bao giờ được gửi đến bất kỳ máy chủ nào. Bạn có thể xác nhận điều này bằng cách dùng công cụ khi đã ngắt kết nối internet.
Chưa có bình luận nào. Hãy là người đầu tiên!