Giới thiệu Tạo Mã Băm Bcrypt & Kiểm Tra (Bcrypt Generator)
Thuật toán Bcrypt là gì và tại sao nó sinh ra để lưu mật khẩu?
Bcrypt là một hàm băm mật khẩu được thiết kế dựa trên thuật toán mã hóa Blowfish. Không giống như MD5 hay SHA-256 (vốn được thiết kế để tính toán càng nhanh càng tốt), Bcrypt được sinh ra với mục đích "Cố tình chạy chậm". Việc chạy chậm (thông qua cơ chế vòng lặp - Work Factor/Cost) khiến các cuộc tấn công Brute Force bằng phần cứng mạnh (GPU) của Hacker trở nên vô cùng tốn thời gian, từ đó bảo vệ mật khẩu người dùng khỏi nguy cơ bị bẻ khóa dù hệ thống có bị rò rỉ cơ sở dữ liệu.
Khái niệm "Salt" (Muối) và "Cost" (Vòng lặp) trong Bcrypt
Bcrypt Hash bao gồm nhiều thông tin quan trọng được lưu luôn vào chuỗi băm (Ví dụ: $2b$12$XYZ...):
- Salt (Muối): Chuỗi ký tự ngẫu nhiên được tự động thêm vào trước khi băm. Điều này đảm bảo rằng dù 2 user có đặt chung một mật khẩu là
123456, thì mã Bcrypt sinh ra trong Database của 2 người cũng sẽ hoàn toàn khác nhau (chống lại Rainbow Table). - Cost (Số vòng lặp): Đại diện cho độ phức tạp tính toán (VD: 10, 12, 14). Số Cost tăng lên 1 đơn vị, thời gian băm sẽ tăng gấp đôi. Cost=10 là mức cơ bản, Cost=12 là mức an toàn cho năm 2026.
Hướng dẫn so sánh (Verify) mật khẩu có khớp với mã Bcrypt không
Vì mỗi lần bạn bấm "Tạo Bcrypt", tool sẽ sinh ra một Salt mới ngẫu nhiên nên kết quả luôn thay đổi. Bạn KHÔNG THỂ so sánh 2 mật khẩu bằng dấu == như MD5.
Thay vào đó, Bcrypt cung cấp cơ chế Verify. Tại giao diện công cụ:
- Nhập mã Bcrypt lấy từ Database vào ô "Bcrypt Hash".
- Nhập mật khẩu cần đối chiếu vào ô "Text / Password".
- Bấm "Check Match". Thuật toán sẽ trích xuất Salt từ mã Hash, đem đi trộn với Password và băm lại theo số Cost tương ứng để xem 2 kết quả có trùng khớp không.