Trình tạo mật khẩu là một công cụ tạo mật khẩu ngẫu nhiên, không thể dự đoán. Khác với mật khẩu do con người thiết kế, trình tạo mật khẩu thực sự sử dụng **Bộ tạo số giả ngẫu nhiên an toàn mật mã học (CSPRNG)** để chọn ngẫu nhiên các ký tự từ nhóm ký tự được chỉ định, tránh các mô hình có thể dự đoán vốn có khi con người đặt mật khẩu (tên+ngày sinh, phím liên tiếp trên bàn phím như qwerty, tên công ty+năm, v.v.), từ đó giảm đáng kể rủi ro bị tấn công nhồi nhét thông tin xác thực, tấn công từ điển và bẻ khóa vũ phu.
**Tại sao không thể sử dụng Math.random()**: Trạng thái nội bộ của bộ tạo số giả ngẫu nhiên thông thường có thể được suy ngược từ một lượng nhỏ đầu ra, kẻ tấn công có thể dự đoán các số «ngẫu nhiên» được tạo ra sau đó. Công cụ này sử dụng crypto.getRandomValues() của Web Crypto API của trình duyệt, gọi cấp thấp CSPRNG cấp hệ điều hành (như getrandom của Linux, SecRandomCopyBytes của macOS, BCryptGenRandom của Windows), các số ngẫu nhiên tạo ra vượt qua kiểm tra ngẫu nhiên mật mã học, không thể dự đoán.
**Cốt lõi của độ mạnh mật khẩu là entropy**: Entropy = log₂(kích thước nhóm ký tự^độ dài mật khẩu), đơn vị là bit. Ví dụ mật khẩu 16 ký tự được chọn ngẫu nhiên từ 94 ký tự ASCII có thể in, entropy khoảng 104 bit, có nghĩa là kẻ tấn công trung bình cần thử 2¹⁰³ lần để tìm thấy mật khẩu đúng — ngay cả khi thử 1 nghìn tỷ lần mỗi giây, cũng cần khoảng 200 tỷ năm.
**Cụm từ dễ nhớ (Passphrase)**: Bao gồm nhiều từ được chọn ngẫu nhiên (như Brave-Cloud-Star42), mặc dù trông «đơn giản» hơn mật khẩu ngẫu nhiên, nhưng nếu các từ được chọn ngẫu nhiên thực sự, tổng entropy có thể đạt trên 60 bit, đủ an toàn cho hầu hết các tình huống, và dễ ghi nhớ hơn nhiều so với mật khẩu ngẫu nhiên có cùng cường độ. Đây cũng là tư tưởng cốt lõi của truyện tranh kinh điển XKCD #936 và phương pháp Diceware.
**Tất cả mật khẩu được tạo cục bộ trong trình duyệt**, không gửi đến bất kỳ máy chủ nào. Công cụ đồng thời cung cấp kiểm tra độ mạnh: tính toán entropy, ước tính thời gian bẻ khóa vũ phu, phát hiện mô hình mật khẩu yếu (ký tự lặp lại, số/chữ cái liên tục, khớp với mật khẩu yếu phổ biến), giúp bạn hiểu độ mạnh bảo mật thực tế của mật khẩu được tạo.