Giới thiệu
Rõ ràng, câu hỏi này đã được hỏi ở đây và nó không may đóng cửa. Tôi nghĩ rằng đó là một ý tưởng tốt để thử lại với nó, nhưng thực hiện đúng.
XKCD xem xét cách chúng tôi được đào tạo để sử dụng "mật khẩu khó nhớ", nghĩ rằng nó an toàn, nhưng thay vào đó, sẽ mất 3 ngày để máy tính bị bẻ khóa. Mặt khác, việc ghi nhớ 4-5 từ mang lại Intropy Password của Kuan và rất dễ nhớ. Điên thế nào mà hoạt động hả?
Thử thách
Công việc hôm nay là tạo 5 mật khẩu bằng từ. 4 từ cho mỗi mật khẩu và tối thiểu 4 chữ cái cho mỗi từ, nhưng không có tối đa. Mật khẩu Intropy của Kuan sẽ cần được tính cho mọi mật khẩu, nhưng mức tối thiểu bắt buộc sẽ không được đặt.
Mật khẩu của Kuan là gì?
Kuan's Password Intropy là một phép đo về mức độ khó đoán của mật khẩu, theo Kuan. Có một phép tính đơn giản: E = log 2 (R) * L . E là Intropy Password của Kuan, R là phạm vi các ký tự có sẵn và L cho độ dài mật khẩu.
Phạm vi của các nhân vật có sẵn là tự giải thích. Đó là phạm vi các ký tự mà mật khẩu có thể có, trong trường hợp này là chữ hoa và chữ thường. Vì có 26 ký tự trong bảng chữ cái, 26 x 2 = 52 ký tự trong toàn bộ phạm vi của mật khẩu.
Độ dài mật khẩu cũng tự giải thích. Đó là tổng chiều dài của mật khẩu sau khi tạo.
Những ràng buộc
- Không có đầu vào.
- Một từ không thể xuất hiện lại trong cùng một mật khẩu.
- Không có ký hiệu hoặc số được cho phép trong một mật khẩu.
- 4 từ cho mỗi mật khẩu, nhưng tối thiểu bắt buộc là 4 chữ cái cho mỗi từ.
- Không có khoảng cách giữa các từ.
- Bạn không thể tạo cùng một mật khẩu nhiều lần.
- Mỗi từ phải được viết hoa trong một mật khẩu.
- Đầu ra phải có thể đọc được, phải được đặt cách nhau. Cũng phải bao gồm Mật khẩu mật khẩu của Kuan với mật khẩu sử dụng phương trình Mật khẩu mật khẩu của Kuan ở trên.
- Từ điển . Bạn phải sử dụng nó, tải xuống dưới dạng tệp văn bản và tích hợp tương ứng. Đây sẽ là danh sách mà bạn lấy từ. Mã của bạn nên giả sử nó có sẵn.
- Đây là mã golf , byte ngắn nhất giành chiến thắng.
Đầu ra
TriedScarProgressPopulation 153.9
TryingPastOnesPutting 119.7
YearnGasesDeerGiven 108.3
DoubtFeetSomebodyCreature 142.5
LiquidSureDreamCatch 114.0
N
ký hiệu từ tập hợp S
, thì entropy mật khẩu là log2(|S|)*N
. Ở đây kích thước của bộ ký hiệu là kích thước của từ điển ( |S|=4284
) và số lượng ký hiệu là số lượng từ ( N=4
), vì vậy entropy cho mỗi mật khẩu là 48.3
.
3t1ta#asd
), thì entropy sẽ là logarit của số lượng mật khẩu có thể. Nếu bạn luôn chọn ngẫu nhiên 4 từ một cách ngẫu nhiên từ một từ điển 4284 từ, thì có tới 4304 ^ 4 mật khẩu, mỗi mật khẩu có entropy log 428 (4284) * 4 48,26.