Trình Tạo Hash Mật Khẩu
Tạo và xác minh hash mật khẩu an toàn bằng thuật toán Bcrypt, Scrypt và Argon2
Tùy Chọn Bcrypt
Giá trị cao hơn an toàn hơn nhưng mất nhiều thời gian hơn. Khuyến nghị: 10-12
Kết Quả
Về Hash Mật Khẩu
Hash mật khẩu là một kỹ thuật mã hóa một chiều chuyển đổi mật khẩu người dùng thành chuỗi có độ dài cố định. Không giống như hash thông thường, các thuật toán hash mật khẩu được thiết kế đặc biệt để chống lại các cuộc tấn công brute-force và tấn công bảng cầu vồng.
Quan trọng: Không bao giờ lưu trữ mật khẩu dạng văn bản thuần! Luôn sử dụng thuật toán hash mật khẩu (như Bcrypt, Scrypt hoặc Argon2) để lưu trữ mật khẩu người dùng. Các thuật toán này có tính năng tạo salt tích hợp để ngăn chặn hiệu quả các cuộc tấn công bảng cầu vồng.
So Sánh Thuật Toán
| Thuật Toán | Năm | Sử Dụng Bộ Nhớ | Khả Năng Chống GPU | Khuyến Nghị |
|---|---|---|---|---|
| Bcrypt | 1999 | 4KB | Trung Bình | Có |
| Scrypt | 2009 | Có Thể Cấu Hình | Cao | Có |
| Argon2 | 2015 | Có Thể Cấu Hình | Rất Cao | Lựa Chọn Tốt Nhất |
Về Bcrypt
Bcrypt là một hàm hash mật khẩu thích ứng dựa trên mật mã Blowfish, được thiết kế bởi Niels Provos và David Mazières vào năm 1999. Nó bao gồm một hệ số chi phí có thể được tăng lên khi hiệu suất phần cứng được cải thiện, duy trì khả năng chống crack. Bcrypt hỗ trợ mật khẩu lên đến 72 byte và tạo hash 60 ký tự với tiền tố $2a$, $2b$ hoặc $2y$.
Về Scrypt
Scrypt là một hàm phái sinh mật khẩu được thiết kế bởi Colin Percival vào năm 2009, được thiết kế đặc biệt như một thuật toán tốn nhiều bộ nhớ đòi hỏi bộ nhớ đáng kể để tính toán, chống lại hiệu quả các cuộc tấn công song song ASIC và GPU. Scrypt được sử dụng rộng rãi trong tiền điện tử (như Litecoin) và lưu trữ mật khẩu. Các tham số N, r, p của nó có thể điều chỉnh chi phí CPU và bộ nhớ.
Về Argon2
Argon2 là người chiến thắng của Cuộc Thi Hash Mật Khẩu 2015 và được coi là thuật toán hash mật khẩu an toàn nhất hiện có. Nó có ba biến thể: Argon2d (chống GPU), Argon2i (chống tấn công kênh bên) và Argon2id (kết hợp cả hai, được khuyến nghị cho hash mật khẩu). Argon2 có thể cấu hình các tham số bộ nhớ, số lần lặp và tính song song.
Các Thực Hành Tốt Nhất Về Lưu Trữ Mật Khẩu
- Sử dụng Argon2id làm lựa chọn đầu tiên, hoặc Bcrypt nếu không khả dụng
- Không bao giờ lưu trữ mật khẩu dạng văn bản thuần hoặc sử dụng MD5/SHA để hash mật khẩu
- Sử dụng hệ số chi phí đủ cao (Bcrypt ≥10, Argon2 bộ nhớ ≥64MB)
- Cập nhật thường xuyên các thuật toán hash và tham số để theo kịp sự phát triển của phần cứng
- Triển khai chính sách mật khẩu yêu cầu người dùng sử dụng mật khẩu mạnh