Tài liệu & Hướng dẫn chuyên sâu: Tạo mật khẩu & passphrase (Password & Passphrase Generator)
1. Tổng quan & Nguyên lý hoạt động
Mật khẩu do con người nghĩ ra thường có quy luật mà kẻ tấn công đoán được; mật khẩu tốt phải được chọn ngẫu nhiên thật sự. Công cụ này dùng `crypto.getRandomValues` — bộ sinh số ngẫu nhiên mật mã của trình duyệt — kèm kỹ thuật loại bỏ thiên lệch (rejection sampling) để mọi ký tự có xác suất như nhau. Bạn có thể tạo mật khẩu ký tự hoặc passphrase gồm nhiều từ dễ nhớ, xem độ mạnh theo bit entropy và thời gian bẻ khoá ước tính. Mọi thứ diễn ra cục bộ: không có mật khẩu nào được gửi đi, ghi vào liên kết chia sẻ hay lưu lại; chỉ các thiết lập (độ dài, nhóm ký tự…) mới được nhớ.
2. Ưu thế kiến trúc & Tính năng nổi bật
Độ dài 4–128, bật/tắt chữ thường, chữ hoa, chữ số, ký hiệu; tuỳ chọn loại ký tự dễ nhầm (`l 1 I O 0`). Mật khẩu luôn chứa ít nhất một ký tự của mỗi nhóm được bật nên vượt qua các quy tắc đặt mật khẩu thông thường.
Ghép 3–12 từ ngẫu nhiên từ danh sách 535 từ tiếng Anh ngắn (khoảng 9 bit mỗi từ), tuỳ chọn dấu phân cách, viết hoa chữ cái đầu và thêm một chữ số. Sáu từ cho khoảng 54 bit, tám từ cho khoảng 72 bit.
Hiển thị entropy (bit), mức đánh giá từ rất yếu đến rất mạnh và thời gian bẻ khoá trung bình giả định 10 tỷ lần thử mỗi giây. Tạo 1, 5 hoặc 10 mật khẩu cùng lúc, ẩn/hiện kết quả và sao chép từng dòng.
3. Entropy bao nhiêu là đủ?
Bit entropy càng cao, số phép thử cần thiết để đoán ra càng lớn (mỗi bit thêm làm gấp đôi):
| Entropy | Mức | Dùng cho |
|---|---|---|
| < 28 bit | Rất yếu | Không nên dùng |
| 28–49 bit | Yếu | Tài khoản rủi ro thấp, có giới hạn số lần thử |
| 50–71 bit | Khá | Tài khoản thông thường khi mật khẩu được băm đúng cách |
| 72–99 bit | Mạnh | Email, ngân hàng, quản lý mã nguồn |
| ≥ 100 bit | Rất mạnh | Khoá mã hoá, mật khẩu chính của trình quản lý mật khẩu |
4. Câu hỏi thường gặp (FAQ)
Giải đáp các thắc mắc phổ biến của lập trình viên khi sử dụng tiện ích Tạo mật khẩu & passphrase (Password & Passphrase Generator).