Bảo mật / Mật khẩu
Trình tạo và kiểm tra hash bcrypt
Tạo hash mật khẩu bcrypt với cost bạn chọn hoặc kiểm tra xem mật khẩu có khớp với hash hiện có hay không — tất cả đều chạy trong trình duyệt.
Trình tạo và kiểm tra hash bcrypt: bcrypt, được Niels Provos và David Mazières thiết kế vào năm 1999, chạy lịch biểu khóa Blowfish 2^cost lần với một salt ngẫu nhiên 16-byte, vì vậy mỗi lần đoán đều khiến kẻ tấn công phải thực hiện cùng một lượng công việc chậm như nhau. Kết quả chứa phiên bản, cost, salt và hash trong một chuỗi dài 60 ký tự. Phần triển khai tại đây đã được đối chiếu với gói Python bcrypt, bao gồm cả mật khẩu Unicode và mật khẩu quá dài. Chạy 100% cục bộ trong trình duyệt của bạn, không có tệp nào được tải lên máy chủ.
- Danh mục
- Công cụ lập trình viên
- Lượt chạy
- Trong trình duyệt của bạn
- Chi phí
- Miễn phí · không cần đăng ký
- Trạng thái khả dụng
- Sẵn sàng sử dụng
Chạy hoàn toàn trong trình duyệt của bạn
Mọi thứ đều chạy trong trình duyệt này; mật khẩu và hash không bao giờ được gửi đi đâu. Chi phí 10–12 phù hợp với hầu hết lần đăng nhập: mỗi mức tăng sẽ tăng gấp đôi thời gian.
Lưu trữ mật khẩu an toàn
Không bao giờ lưu mật khẩu dưới dạng văn bản thuần túy hoặc bằng hash nhanh như MD5 hay SHA-256, vì một card đồ họa có thể thử hàng tỷ lần mỗi giây. bcrypt, scrypt và Argon2 được thiết kế để chạy chậm và có salt, nên cơ sở dữ liệu bị đánh cắp sẽ khó bị bẻ khóa hơn nhiều.
Đối với thông tin đăng nhập máy chủ web, trình tạo htpasswd ghi các dòng người dùng hoàn chỉnh; để tạo mật khẩu, hãy dùng trình tạo mật khẩu.
Đọc một hash bcrypt
Trong $2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW, 2b là phiên bản, 12 là cost, 22 ký tự tiếp theo là salt và 31 ký tự cuối là hash. Vì salt và cost đi kèm hash, máy chủ có thể tăng cost cho mật khẩu mới mà không làm hỏng mật khẩu cũ.
Cách sử dụng
- Nhập mật khẩu và chọn cost; 10 đến 12 phù hợp với hầu hết các trang web.
- Tạo hash rồi sao chép hash đó vào cơ sở dữ liệu hoặc cấu hình của bạn.
- Để kiểm tra hash đã lưu, chuyển sang chế độ kiểm tra, dán hash và nhập mật khẩu.
Quyền riêng tư và giới hạn
Mật khẩu và hash được giữ trong trình duyệt của bạn; không có gì được gửi đến máy chủ.
Công cụ liên quan
Câu hỏi thường gặp
Tôi nên sử dụng cost nào?
Hãy dùng mức cao nhất mà máy chủ của bạn có thể xử lý cho mỗi lần đăng nhập, thường là 10–12; OWASP khuyến nghị ít nhất 10. Mỗi bước sẽ tăng gấp đôi thời gian, vì vậy hãy so sánh thời gian hiển thị tại đây với máy chủ chậm nhất của bạn.
$2a$, $2b$ và $2y$ khác nhau như thế nào?
Chúng băm các mật khẩu thông thường giống hệt nhau. $2b$ đánh dấu bản sửa lỗi năm 2014 của OpenBSD dành cho mật khẩu rất dài, còn $2y$ đánh dấu bản sửa lỗi năm 2011 của PHP đối với một lỗi trong một triển khai khác; PHP và htpasswd của Apache ghi $2y$, còn hầu hết thư viện khác ghi $2b$.
Tại sao mật khẩu dài của tôi vẫn được chấp nhận khi chỉ dùng phần đầu?
bcrypt chỉ sử dụng 72 byte đầu tiên và nhiều thư viện âm thầm cắt phần dài hơn; công cụ sẽ cảnh báo khi điều đó xảy ra. Các chữ cái ngoài tiếng Anh chiếm 2–4 byte mỗi chữ.
Công cụ miễn phí · trong trình duyệt của bạn lượt chạy · không cần tài khoản