Password Generator + Strength Meter — Crypto-Safe + Passphrase
Tạo mật khẩu mạnh ngẫu nhiên 4-128 ký tự với crypto.getRandomValues + zxcvbn strength meter ước lượng thời gian crack. Mode passphrase EFF-style: 4-12 từ ngẫu nhiên dễ nhớ hơn. 100% client-side, không log password.
Vì sao dùng tool này
Math.random() KHÔNG crypto-safe (predict được sau N samples). Tool dùng Web Crypto crypto.getRandomValues — true randomness từ hệ điều hành.
Dropbox zxcvbn lib chấm điểm 0-4 + ước lượng thời gian crack online (10 guess/sec). Không phải đơn giản 'có ký tự đặc biệt là mạnh'.
4 từ ngẫu nhiên cách nhau dấu — entropy bằng mật khẩu 12 ký tự random nhưng dễ nhớ + gõ nhanh. Diceware methodology.
Cách sử dụng
- 1Chọn Password (random ký tự) hoặc Passphrase (chuỗi từ).
- 2Password: chọn độ dài 4-128, bật tắt lower/upper/digit/symbol + loại ký tự dễ nhầm (I, l, 1, O, 0).
- 3Passphrase: 3-12 từ + ngăn cách - / _ / space + viết hoa + thêm số.
- 4Bấm Generate. Strength meter realtime + thời gian crack ước lượng.
Tạo mật khẩu mạnh đúng cách
Mật khẩu yếu là root cause cho 80%+ vụ data breach. Theo nghiên cứu Verizon DBIR 2024, credential stuffing + password reuse vẫn là vector tấn công số 1. Tool này áp dụng best practice 2025: random từ crypto-safe source, độ dài >= 16 mặc định, hỗ trợ passphrase cho password user phải nhớ.
Vì sao crypto.getRandomValues quan trọng? Math.random() trong JS implement bằng Mersenne Twister hoặc Xorshift — predictable sau khoảng 624 samples liên tiếp. Web Crypto crypto.getRandomValues lấy entropy từ OS (hardware noise / TPM / /dev/urandom) — không thể predict.
Passphrase vs Password: 4 từ EFF wordlist (mỗi từ ~7,776 từ vựng) cho entropy ~51 bits — bằng password 8 ký tự random alphanumeric. 6 từ cho 77 bits — bằng password 13 ký tự random. Passphrase dễ nhớ hơn 10x. Recommended cho password chính (master password, email).
Zxcvbn (Dropbox 2012, vẫn maintained) chấm điểm thông minh hơn 'có 1 số + 1 ký tự đặc biệt là mạnh'. Nó nhận diện pattern (password123 = 'pass'+'word'+'123' → yếu), substitution (p@ssw0rd ≈ password → yếu), common phrase, l33tspeak, sequential, repeat. Ước lượng crack time 4 scenario (offline fast/slow, online no-throttle/throttle).
- ✓crypto.getRandomValues (Web Crypto)
- ✓Độ dài 4-128
- ✓4 charset toggle (lower/upper/digit/symbol)
- ✓Loại bỏ ký tự dễ nhầm
- ✓Passphrase 3-12 từ EFF-style
- ✓Zxcvbn strength meter 0-4
- ✓Crack time estimate
- ✓100% client-side — không log
Câu hỏi thường gặp
Password có lưu server không?
KHÔNG. 100% sinh trong browser bằng crypto.getRandomValues. Server không thấy password. Bạn có thể disable internet sau khi load page, tool vẫn chạy.
Sao 8 ký tự lại bị chấm 'Yếu'?
Zxcvbn ước lượng theo online attack (10 guess/sec) — 8 ký tự random vẫn cần ~ngày. Nhưng offline crack (10 tỷ guess/sec với GPU) chỉ vài giây. Recommend >= 12-16 cho production.
Passphrase 4 từ có thật sự mạnh không?
Có nếu từ thực sự ngẫu nhiên + tự danh sách lớn. 4 từ × log2(7776) ≈ 51 bits — đủ chống online attack vài thập kỷ. Tăng lên 6 từ cho master password.
Symbol trong password có thực sự cần?
Tăng entropy nhưng UX kém (gõ chậm trên mobile). Best practice 2025: thà password dài 20 ký tự alphanumeric còn hơn 10 ký tự có symbol. Length > complexity.