🔒

Bcrypt

Sinh chuỗi băm mật khẩu an toàn bằng thuật toán bcrypt với salt ngẫu nhiên và rounds tùy chỉnh.

Mật khẩu
Kết quả hash
⚙️
Rounds: 10Rounds càng cao càng an toàn nhưng tốn thời gian xử lý. Khuyến nghị 10-12 rounds cho môi trường production.
4102031
低安全性推荐高安全性最高安全性

Lưu ý quan trọng

Mọi thao tác băm diễn ra cục bộ trong trình duyệtMỗi hash có salt riêng, không cần tự cung cấpRounds càng cao càng an toàn nhưng tăng thời gian xử lý

Bcrypt là gì

Bcrypt là hàm băm mật khẩu có khả năng điều chỉnh chi phí, chống rainbow Bảng nhờ salt ngẫu nhiên và làm chậm brute force. Đây là chuẩn vàng cho lưu mật khẩu trong ứng dụng hiện đại, được hầu hết ngôn ngữ, framework và guideline bảo mật như OWASP, NIST khuyến nghị sử dụng.

Tính năng

🚀

Hash an toàn

Thuật toán bcrypt với cost thích ứng giúp bảo vệ khỏi brute force

Hai chế độ

Băm mật khẩu mới hoặc xác minh hash hiện có
🎯

Điều chỉnh rounds

Thiết lập cost từ 4 đến 31 tương ứng nhu cầu bảo mật
🔒

Salt tự động

Sinh salt ngẫu nhiên cho từng hash, chống rainbow Bảng

📋Hướng dẫn sử dụng

1️⃣
Nhập mật khẩu hoặc hash
Điền mật khẩu cần băm hoặc hash cần kiểm tra đúng ô, bảo đảm không dán nhầm dữ liệu nhạy cảm khác.
2️⃣
Thiết lập rounds
Chọn hệ số cost phù hợp (gợi ý ≥10). Cost càng cao càng an toàn nhưng thời gian xử lý lâu hơn, hãy cân nhắc nhu cầu thực tế.
3️⃣
Thực thi thao tác
Nhấn "Tạo hash" để sinh chuỗi bcrypt hoặc "Xác minh" để so sánh mật khẩu với hash hiện có. Quá trình xử lý hoàn toàn offline.
4️⃣
Sao chép và lưu trữ
Sao chép hash đã sinh, lưu vào cơ sở dữ liệu an toàn và tránh ghi log mật khẩu dạng rõ.

📚Giới thiệu kỹ thuật

🔐Bcrypt hoạt động như thế nào

Bcrypt do Niels Provos và David Mazières thiết kế dựa trên Blowfish. Thuật toán sinh salt ngẫu nhiên 128 bit, áp dụng nhiều vòng key setup tốn thời gian nhằm làm chậm brute force, kể cả khi chạy trên GPU hoặc ASIC chuyên dụng.

⚙️Work factor thích ứng

Tham số rounds (2^cost) quy định thời gian xử lý. Khi phần cứng mạnh hơn, bạn có thể tăng cost định kỳ để duy trì mức bảo mật và giữ thời gian băm ổn định trong khoảng 250-500 ms.

🔒Cấu trúc hash tự mô tả

Hash bcrypt lưu cả phiên bản, cost và salt trong chuỗi xuất ra (định dạng $2b$10$salt$hash), giúp xác minh dễ dàng mà không cần lưu thêm metadata hoặc quản lý salt thủ công.

🛡️Thực hành tốt nhất

Luôn dùng rounds ≥10, chỉ băm dữ liệu bí mật như mật khẩu, dùng HTTPS và kết hợp pepper phía server. Khi người dùng đăng nhập với hash cost thấp hãy rehash để nâng cấp dần.

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

Vì sao nên dùng bcrypt?

Bcrypt được thiết kế để băm mật khẩu với chi phí tính toán cao, khó bị brute force và tự sinh salt chống rainbow Bảng. Đây là khuyến nghị của OWASP/NIST.
💬

Rounds nghĩa là gì?

Rounds (cost) quy định số vòng xử lý, mỗi lần tăng làm thời gian gấp đôi. Production nên dùng 10-12, hệ thống cần bảo mật hơn có thể dùng 14-16.
🔍

Vì sao cùng mật khẩu nhưng hash khác nhau?

Mỗi hash bcrypt chứa salt ngẫu nhiên riêng nên kết quả luôn khác biệt. Điều này giúp vô hiệu hóa bảng tra cứu sẵn.
💡

Có thể đảo ngược hash bcrypt không?

Không. Bcrypt là hàm một chiều, chỉ có thể xác minh bằng cách băm lại mật khẩu với salt lưu kèm trong hash.
📚

Bcrypt có dùng được cho production không?

Có. Bcrypt được hỗ trợ rộng rãi (Node.js, Python, PHP, Java...). Hãy đảm bảo dùng HTTPS, rounds đủ lớn và quản lý cơ sở dữ liệu an toàn.

💡Thực hành khuyến nghị

⚙️

Dùng cost thích hợp

Thiết lập cost ≥10 cho ứng dụng web thông thường, ≥12 với hệ thống nhạy cảm và đo thời gian xử lý trước khi triển khai.
🔒

Chỉ lưu hash

Không bao giờ lưu mật khẩu dạng rõ; lưu chuỗi bcrypt ($2b$...) và quản lý cơ sở dữ liệu an toàn, giới hạn quyền truy cập.
🧂

Pepper phía server

Ngoài salt tự sinh, cân nhắc cộng thêm "pepper" bí mật lưu trong secret manager hoặc HSM để tăng bảo mật.
🔄

Nâng cấp khi đăng nhập

Khi người dùng đăng nhập với hash cũ (cost thấp), hãy băm lại với cost cao hơn rồi cập nhật.

User Comments

0 / 2000
Loading...