Cách sử dụng
- Trong phần Tạo mã băm, nhập mật khẩu, chỉnh cost bằng thanh trượt rồi nhấn Tạo mã băm.
- Sao chép mã băm. Mỗi mã dùng salt ngẫu nhiên mới nên cùng một mật khẩu tạo ra mã khác nhau mỗi lần.
- Để kiểm tra, dán mã băm bcrypt bên phải và nhập mật khẩu. Kết quả cho biết chúng có khớp không.
Giải thích tùy chọn
- Cost
- Từ 4 đến 15, mặc định 10. Khối lượng tính là 2 lũy thừa cost nên mỗi bước làm thời gian tăng gấp đôi. Trang hiển thị thời gian băm trong trình duyệt để tham khảo.
- Tiền tố phiên bản
- Mã mới bắt đầu bằng $2b$. Khi kiểm tra, mã $2a$, $2b$ và $2y$ do password_hash của PHP tạo đều dùng được.
- Giới hạn 72 byte
- bcrypt chỉ dùng 72 byte đầu của mật khẩu (UTF-8 nên một số ký tự chiếm 2–4 byte). Trang cảnh báo khi mật khẩu dài hơn; phần còn lại bị bỏ qua.
Cấu tạo mã băm
$2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
2b: phiên bản thuật toán10: cost, 2¹⁰ = 1.024 vòngN9qo8uLOickgx2ZMRZoMye: salt dài 22 ký tự- 31 ký tự còn lại: mã băm
Câu hỏi thường gặp
Vì sao cùng mật khẩu lại cho mã khác nhau mỗi lần?
bcrypt tạo salt ngẫu nhiên 16 byte cho mỗi mã và lưu salt trong mã (22 ký tự sau cost). Khi kiểm tra, salt được lấy từ mã để tính lại, nên tất cả mã đó đều xác minh được.
Có thể giải mã bcrypt không?
Không. bcrypt là mã băm một chiều; cách kiểm tra duy nhất là băm một mật khẩu thử rồi so sánh. Dịch vụ quảng cáo “giải mã” bcrypt chỉ đang thử lần lượt các mật khẩu phổ biến.
Nên dùng cost bao nhiêu?
Quy tắc thường dùng là để một lần băm mất khoảng 100 ms trên máy chủ; hiện nay thường tương đương 10–12. Quá thấp làm brute force dễ hơn, quá cao làm đăng nhập chậm và tăng tải máy chủ.
bcrypt khác MD5 hoặc SHA-256 thế nào?
MD5 và SHA-256 được thiết kế để nhanh — một GPU có thể thử hàng tỷ lần mỗi giây — nên không phù hợp để tự lưu mật khẩu. bcrypt cố ý chậm và có salt tích hợp, được thiết kế cho lưu mật khẩu.
Mật khẩu của tôi có được tải lên không?
Không. Băm và kiểm tra chạy bằng JavaScript trong trình duyệt và vẫn hoạt động ngoại tuyến.
Quyền riêng tư
Công cụ này chạy hoàn toàn trong trình duyệt của bạn. Tệp và văn bản được xử lý ngay trên thiết bị và không bao giờ được tải lên máy chủ của chúng tôi.