Cách hoạt động
Độ ngẫu nhiên đến từ đâu
Mỗi ký tự và mỗi từ được chọn bằng crypto.getRandomValues, nguồn ngẫu nhiên mật mã của trình duyệt, không dùng Math.random.
Một số ngẫu nhiên 32 bit được đổi thành lựa chọn trong tập bằng phép chia lấy dư. Những số vượt quá bội số trọn vẹn cuối cùng của kích thước tập bị bỏ đi và rút lại, nên không ký tự hay từ nào ra nhiều hơn những cái khác.
Mật khẩu
Tập ký tự gồm những loại bạn bật: 26 chữ thường, 26 chữ hoa, 10 chữ số và 27 ký hiệu dán được vào hầu hết các ô nhập (!@#$%^&*()-=_+?[]{};:,.<>/~). Bỏ ký tự dễ nhầm sẽ loại I, l, 1, O và 0.
Độ dài từ 8 đến 128 ký tự. Luôn phải giữ ít nhất một loại ký tự.
entropy (bit) = độ dài × log2(kích thước tập)
Cụm mật khẩu
Cụm mật khẩu gồm 3 đến 10 từ tiếng Anh lấy từ danh sách lớn của EFF (7.776 từ, ứng với mọi kết quả khi gieo năm viên xúc xắc), nối bằng dấu ngăn cách bạn chọn. Viết hoa từ đầu không làm tăng entropy; thêm một chữ số ở cuối cộng log2(10), khoảng 3,3 bit.
Các viên xúc xắc dưới mỗi từ là năm lần gieo sẽ chọn ra từ đó trong danh sách in, để bạn có thể tự kiểm tra bằng tay.
entropy (bit) = số từ × log2(số từ trong danh sách) + 3,32 nếu thêm chữ số
Các mức độ mạnh
Dưới 40 bit là yếu, 40 đến 59 tạm được, 60 đến 94 mạnh và từ 95 trở lên rất mạnh. Các mức này tính cho việc đoán ngẫu nhiên cả mật khẩu, với giả định kẻ tấn công biết cách tạo nhưng không biết những lần chọn ngẫu nhiên.





