Trình Tạo & Kiểm Tra Mã Băm Bcrypt
Tạo và kiểm tra mã băm mật khẩu với Bcrypt — hoàn toàn trong trình duyệt của bạn.
Mật khẩu của bạn không bao giờ được gửi tới bất kỳ máy chủ nào.
🔒 Tạo Mã Băm Bcrypt
✅ Kiểm Tra Mức Độ Khớp Bcrypt
Bạn cũng có thể thích
Giới thiệu
Một công cụ miễn phí dành cho các nhà phát triển phụ trợ và kỹ sư bảo mật để tạo tức thì mã băm mật khẩu Bcrypt và xác minh chúng — tất cả mà không cần rời khỏi trình duyệt.
Công cụ này hoạt động hoàn toàn ở máy tính của bạn (100% local). Mật khẩu của bạn được xử lý ngay trong trình duyệt thông qua Web Worker và không bao giờ được gửi đến bất kỳ máy chủ nào.
Cách sử dụng
Băm mật khẩu
Nhập một mật khẩu văn bản thuần ở bảng điều khiển bên trái, đặt số Vòng lặp/Chi phí (10 được khuyến nghị), và nhấp "Tạo Mã Băm". Sao chép kết quả để dùng trong ứng dụng của bạn.
Xác minh với mã băm hiện có
Dán một mã băm Bcrypt có sẵn ($2b$10$...) và mật khẩu văn bản thuần vào bảng điều khiển bên phải, sau đó nhấp "So Sánh" để xem chúng có khớp nhau không.
Thuật ngữ
- bcrypt
- Một thuật toán băm mật khẩu được thiết kế để chạy chậm và tốn kém tài nguyên tính toán. Nó tự động tạo ra một chuỗi ngẫu nhiên (salt) và áp dụng kỹ thuật kéo dài khóa, làm cho nó có khả năng chống lại các cuộc tấn công bảng cầu vồng (rainbow table) và tấn công dò mật khẩu (brute-force) cao.
- Hash (Mã băm)
- Một chuỗi có độ dài cố định được tạo ra từ một đầu vào bởi một hàm một chiều. Việc đảo ngược một mã băm trở lại đầu vào ban đầu là không khả thi về mặt tính toán, do đó việc xác thực được thực hiện bằng cách băm lại và so sánh.
- Salt
- Một chuỗi ngẫu nhiên được thêm vào mật khẩu trước khi băm. Do mỗi "salt" là duy nhất, hai mật khẩu giống hệt nhau sẽ tạo ra hai mã băm khác nhau, làm vô hiệu hóa các cuộc tấn công bằng rainbow table.
- Cost Factor (Yếu tố chi phí / Rounds / Số vòng)
- Một tham số kiểm soát số lần thuật toán bcrypt lặp lại (dưới dạng lũy thừa của 2). Mỗi lần tăng giá trị sẽ nhân đôi thời gian tính toán, cho phép bạn theo kịp với những cải tiến về phần cứng trong tương lai.
- Tấn công bằng bảng cầu vồng (Rainbow Table Attack)
- Một cuộc tấn công sử dụng một bảng các giá trị băm đã được tính toán sẵn để bẻ khóa mật khẩu. Việc sử dụng các salt duy nhất trong bcrypt khiến cho cuộc tấn công này trở nên vô hiệu.
- Tấn công dò mật khẩu (Brute-Force Attack)
- Một cuộc tấn công thử nghiệm một cách có hệ thống mọi trường hợp mật khẩu có thể xảy ra. Bởi vì bcrypt được thiết kế để tính toán chậm, nó làm giảm đáng kể tính thực tế của các nỗ lực tấn công brute-force.
- Key Stretching (Kéo dài khóa)
- Một kỹ thuật chạy tính toán hàm băm nhiều lần nhằm mục đích tăng thời gian cho mỗi lần xác minh. Trong bcrypt, hệ số chi phí kiểm soát số lần lặp lại được thực hiện.
Câu hỏi thường gặp
- Q.Mật khẩu của tôi có được gửi đến máy chủ của bạn không?
- Không. Tất cả các quá trình băm và so sánh bcrypt được thực hiện hoàn toàn trong môi trường JavaScript của trình duyệt của bạn. Mật khẩu và mã băm của bạn không bao giờ rời khỏi thiết bị của bạn.
- Q.Bcrypt có còn được coi là an toàn không?
- Có. Kể từ khi được công bố vào năm 1999, bcrypt vẫn là một trong những thuật toán băm mật khẩu được khuyên dùng rộng rãi nhất. Với yếu tố chi phí (cost factor) phù hợp, nó cung cấp sự bảo vệ mạnh mẽ chống lại các cuộc tấn công phần cứng hiện đại.
- Q.Yếu tố chi phí (vòng - rounds) được khuyến nghị là bao nhiêu?
- Tính đến năm 2024, một yếu tố chi phí từ 12–14 thường được khuyến nghị. Hãy nhắm tới giá trị mà một mã băm mất khoảng 0,25–1 giây trên máy chủ của bạn để nó vẫn có thể sử dụng được đồng thời chống lại các cuộc tấn công.
- Q.Sự khác biệt giữa bcrypt và SHA-256 là gì?
- SHA-256 là một thuật toán băm đa năng nhanh — quá nhanh đối với việc lưu trữ mật khẩu, mang lại lợi thế cho những kẻ tấn công. Bcrypt được thiết kế dành riêng cho mật khẩu: nó cố tình chậm và bao gồm một chuỗi ngẫu nhiên (salt) tự động.
- Q.Tôi sẽ sử dụng hàm băm được tạo ở đâu?
- Trong xác thực ứng dụng web, bạn lưu trữ hàm băm bcrypt trong cơ sở dữ liệu thay vì mật khẩu văn bản thuần túy. Khi đăng nhập, bạn băm lại mật khẩu đã nhập và so sánh với hàm băm được lưu trữ.
- Q.Tôi có thể đảo ngược mã băm bcrypt để lấy lại mật khẩu ban đầu không?
- Không. Bcrypt là một hàm một chiều. Việc suy ra mật khẩu ban đầu từ hàm băm là không khả thi về mặt tính toán — đó là thuộc tính cơ bản khiến nó an toàn cho việc lưu trữ mật khẩu.
- Q.Tôi có thể sử dụng nó trên điện thoại thông minh không?
- Có. Tuy nhiên, nếu bạn thiết lập một hệ số chi phí (Rounds) cao, quá trình băm có thể mất thời gian lâu hơn rõ rệt trên thiết bị di động do tốc độ vi xử lý chậm hơn so với phần cứng máy tính để bàn.
Trường hợp sử dụng
Kiểm tra Lưu trữ Mật khẩu
Xác minh cách triển khai lưu trữ mật khẩu API phụ trợ của bạn mà không cần viết một dòng mã nào.
Gỡ lỗi Đăng nhập
Nhanh chóng kiểm tra xem hàm băm được lưu trữ trong cơ sở dữ liệu của bạn có thực sự khớp với mật khẩu dạng văn bản thuần túy dự kiến hay không để cô lập các lỗi xác thực.
Học hỏi về Bảo mật
Thử nghiệm các yếu tố chi phí khác nhau để hiểu cách các vòng lặp hoạt động của bcrypt ảnh hưởng đến thời gian tính toán và sức mạnh bảo mật.
Đánh giá Chi phí
So sánh yếu tố chi phí 10 so với 12 để đo lường tác động đến hiệu suất trước khi cập nhật cấu hình sản xuất của bạn.
Gửi phản hồi
Vui lòng cho chúng tôi biết suy nghĩ của bạn để giúp chúng tôi cải thiện công cụ.
Feedback is temporarily suspended
The server is busy or spam protection is active. Please try again later.