bcrypt là gì?
bcrypt là một thuật toán băm mật khẩu được thiết kế để chậm và tốn kém về mặt tính toán, giúp nó chống lại các cuộc tấn công vét cạn. Không giống như các hàm băm nhanh như MD5 hoặc SHA-256, bcrypt cố ý mất nhiều thời gian để tính toán, điều này làm tăng đáng kể chi phí cho những kẻ tấn công cố gắng phá vỡ mật khẩu.
Tại sao sử dụng bcrypt?
Hệ Số Chi Phí Thích Ứng
Bạn có thể tăng số vòng khi phần cứng nhanh hơn, giữ cho mã băm của bạn an toàn theo thời gian
Salt Tích Hợp
Mỗi mã băm bao gồm một salt ngẫu nhiên duy nhất, ngăn chặn các cuộc tấn công bảng cầu vồng
Tiêu Chuẩn Công Nghiệp
Được sử dụng bởi các framework lớn bao gồm Laravel, Ruby on Rails, Django và Spring Security
Được Kiểm Chứng Trong Thực Tế
Dựa trên mật mã Blowfish, được sử dụng từ năm 1999 mà không có lỗ hổng thực tế nào được biết đến
Hiểu Định Dạng Mã Băm bcrypt
$2b$12$WApznUPhDubN0oeveSFPpOLo0dVMFJ.3CC9TmGkMxLFvnEGbgm4jq$2b$
12
22 Ký Tự
31 Ký Tự
Cách Sử Dụng
Tạo Mã Băm bcrypt
Chọn Tab Tạo
Đảm bảo rằng tab Tạo được chọn trong giao diện công cụ
Nhập Mật Khẩu
Nhập mật khẩu của bạn vào trường nhập liệu
Chọn Hệ Số Chi Phí
Chọn số vòng — mặc định là 12 được khuyến nghị cho hầu hết các trường hợp sử dụng
Tạo
Nhấp vào nút Tạo Mã Băm để tạo mã băm bcrypt của bạn
Sao Chép Kết Quả
Sử dụng nút sao chép để sao chép mã băm kết quả vào bộ nhớ tạm của bạn
Xác Minh Mật Khẩu
Chuyển Sang Tab Xác Minh
Nhấp vào tab Xác Minh trong giao diện công cụ
Nhập Mật Khẩu
Nhập mật khẩu bạn muốn kiểm tra
Dán Mã Băm
Dán mã băm bcrypt bạn muốn xác minh
Xác Minh
Nhấp vào nút Xác Minh Mật Khẩu để kiểm tra xem chúng có khớp không
Kiểm Tra Kết Quả
Kết quả sẽ hiển thị Khớp (xanh) hoặc Không Khớp (đỏ)
Chọn Hệ Số Chi Phí Phù Hợp
| Vòng | Mức Bảo Mật | Trường Hợp Sử Dụng |
|---|---|---|
| 4–9 | Thấp | Chỉ phát triển và kiểm tra |
| 10–11 | Trung Bình | Ứng dụng bảo mật thấp |
| 12–13 | Được Khuyến Nghị | Ứng dụng sản xuất |
| 14–17 | Cao | Hệ thống bảo mật cao |
| 18+ | Rất Cao | Bảo mật tối đa (tạo chậm) |
Tính Năng
Hai Chế Độ: Tạo & Xác Minh
Chuyển đổi giữa tạo mã băm bcrypt mới và xác minh mã băm hiện có chỉ bằng một cú nhấp.
- Chế độ Tạo tạo mã băm mới từ mật khẩu
- Chế độ Xác Minh kiểm tra mật khẩu với mã băm hiện có
- Chuyển đổi liền mạch giữa các chế độ
Hệ Số Chi Phí Có Thể Điều Chỉnh
Chọn từ vòng 4 đến 31 để kiểm soát sức mạnh băm với huy hiệu bảo mật được mã hóa màu.
- Chỉ báo mức bảo mật trực quan
- Cân bằng bảo mật so với hiệu suất
- Vòng cao hơn = bảo mật mạnh hơn
Thông Tin Mã Băm Chi Tiết
Xem phiên bản thuật toán, hệ số chi phí và thời gian tạo chính xác để hiểu tác động hiệu suất.
- Hiển thị phiên bản thuật toán
- Phân tích hệ số chi phí
- Số liệu hiệu suất thời gian thực
Bảo Mật Phía Máy Khách
Tất cả băm mật khẩu và xác minh diễn ra hoàn toàn trong trình duyệt của bạn bằng thư viện bcryptjs.
- Không truyền máy chủ
- Bảo vệ quyền riêng tư hoàn toàn
- Hoạt động ngoại tuyến
Các Câu Hỏi Thường Gặp
Tại sao cùng một mật khẩu lại tạo ra các mã băm khác nhau?
bcrypt tự động tạo một salt ngẫu nhiên duy nhất cho mỗi mã băm. Điều này có nghĩa là ngay cả những mật khẩu giống hệt nhau cũng sẽ tạo ra các mã băm hoàn toàn khác nhau, điều này ngăn chặn những kẻ tấn công sử dụng các bảng được tính toán trước (bảng cầu vồng) để phá vỡ mật khẩu.
Tôi nên sử dụng hệ số chi phí nào?
Đối với hầu hết các ứng dụng sản xuất, 12 vòng được khuyến nghị. Điều này cung cấp sự cân bằng tốt giữa bảo mật và hiệu suất.
- Sử dụng 12 vòng cho các ứng dụng sản xuất tiêu chuẩn
- Sử dụng 14+ vòng cho dữ liệu rất nhạy cảm
- Sử dụng 4-8 vòng chỉ cho phát triển và kiểm tra
Sự khác biệt giữa $2a$, $2b$ và $2y$ là gì?
$2a$
$2b$
$2y$
Cả ba phiên bản đều tương thích — công cụ này tạo mã băm $2b$ và có thể xác minh cả ba định dạng.
Có giới hạn độ dài mật khẩu tối đa không?
bcrypt xử lý tối đa 72 byte đầu vào. Các ký tự vượt quá giới hạn này sẽ bị cắt ngắm.
Đối với hầu hết các mật khẩu, đây không phải là vấn đề, vì các mật khẩu điển hình nằm dưới 72 ký tự.
Mật khẩu của tôi có an toàn khi sử dụng công cụ này không?
Có, hoàn toàn an toàn. Tất cả băm và xác minh được thực hiện hoàn toàn trong trình duyệt của bạn bằng JavaScript. Mật khẩu của bạn không bao giờ được truyền đến bất kỳ máy chủ nào.
- Xử lý 100% phía máy khách
- Không giao tiếp máy chủ
- Hoạt động ngoại tuyến
- Không ghi nhật ký hoặc lưu trữ dữ liệu
Chưa có bình luận nào. Hãy là người đầu tiên!