Вступ
Мабуть, це питання було задано тут, і воно, на жаль, закрилося. Я подумав, що було б гарною ідеєю спробувати ще раз, але все зроблено правильно.
XKCD розглядає, як ми навчені користуватися "важко запам’ятовуваними паролями", думаючи, що це безпечно, але натомість для роботи комп'ютера знадобиться 3 дні. З іншого боку, запам'ятовування 4-5 слів викликає введення пароля Куана, і легко запам'ятовується. Божевільно, як це працює, так?
Виклик
Завдання сьогодні - створити 5 паролів за допомогою слів. 4 слова на пароль і мінімум 4 букви на слово, але не максимум. Інтропія пароля Куана потрібно буде розраховувати для кожного пароля, але примусовий мінімум не встановлюватиметься.
Що таке Інтропія пароля Куана?
Kuan's Password Intropy - це показник того, наскільки непередбачуваний пароль, згідно Куану. Існує простий розрахунок: Е = увійти 2 (R) * L . E - це введення пароля Куана, R - діапазон доступних символів і L - довжина пароля.
Діапазон доступних символів сам по собі пояснює. Це діапазон символів, який може мати пароль, у цьому випадку це верхній і нижній регістр. Оскільки в алфавіті є 26 символів, 26 x 2 = 52 символи у всьому діапазоні пароля.
Довжина пароля також пояснюється сама собою. Це загальна довжина пароля після створення.
Обмеження
- Немає даних.
- Слово не може знову з’явитися в одному паролі.
- У паролі не допускаються символи чи цифри.
- 4 слова на пароль, але примусовий мінімум 4 літери на слово.
- Немає пробілів між словами.
- Не можна генерувати один і той же пароль знову і знову.
- Кожне слово має бути використано з великої літери у паролі.
- Вихід повинен бути зрозумілим для людини і повинен бути розташований між собою. Необхідно також включити введення Куана в паролі з використанням пароля, використовуючи вищевказане рівняння введення Куана.
- Словник . Ви повинні використовувати це, завантажити його як текстовий файл та інтегрувати відповідно. Це буде список, з якого ви захоплюєте слова. Ваш код повинен вважати його доступним.
- Це кодовий гольф , найкоротший виграш байтів.
Вихідні дані
TriedScarProgressPopulation 153.9
TryingPastOnesPutting 119.7
YearnGasesDeerGiven 108.3
DoubtFeetSomebodyCreature 142.5
LiquidSureDreamCatch 114.0
N
символи з набору S
, це ентропія пароля log2(|S|)*N
. Тут розмір набору символів - це розмір словника ( |S|=4284
), а кількість символів - кількість слів ( N=4
), тому ентропія для кожного пароля є 48.3
.
3t1ta#asd
), то ентропія буде логарифмом кількості можливих паролів. Якщо у словнику 4284 слів завжди довільно вибирати 4 слова однорідно, то наявні 4284 ^ 4 паролі, кожен з логікою ентропії₂ (4284) * 4 ≈ 48,26.