Предполагая «полную случайность» и получая строку длиной 20 символов, где каждый символ может быть одним из 62 возможных символов:
- Какое общее количество возможных комбинаций? (Угадай 20 до степени 62.)
- Кроме того, если новые строки выбираются случайным образом одна за другой и добавляются в список выбранных строк, сколько строк должно быть выбрано до того, как вероятность выбора строки, которая уже была выбрана, будет ниже 1 в 100000 ( )
Примечание: 62 состоит из: цифровых цифр (0-9), заглавных букв (AZ) и строчных букв (az).
probability
combinatorics
просчеты
источник
источник
Ответы:
Общее количество возможностей
1) Закрыть! У вас есть 62 вариантов для первого символа, 62 для 2 - го и т.д., так что вы в конечном итоге с , что абсурдно огромное количество.62⋅62⋅62⋅⋯62=6220
Столкновение со строкой «Target»
2) Как мы установили выше, существует потенциальных строк. Вы хотите знать, сколько вам нужно угадать, чтобы иметь больше, чем 1 на 100 000 шансов угадать «целевую» строку. По сути, вы спрашиваете, что х6220 Чтобы получить точный результат, вам нужно округлить х (или добавить один, если они точно равны), но, как вы увидите через секунду, это не имеет значения.
Посредством базовой алгебры мы можем изменить это как
Именно поэтому длинные пароли работают очень хорошо :-) Для реальных паролей, конечно, вам нужно беспокоиться о строках длиной не более двадцати, что увеличивает количество возможностей еще больше.
Дубликаты в списке
Теперь давайте рассмотрим другой сценарий. Строки генерируются случайным образом, и мы хотим определить, сколько можно сгенерировать до того, как появится шанс совпадения любых двух строк 1: 100 000. Классическая версия этой проблемы называется проблемой дня рождения (или «парадоксом») и спрашивает, какова вероятность того, что двое из n человек имеют одинаковый день рождения. Статья в Википедии [1] выглядит прилично и содержит несколько таблиц, которые могут оказаться полезными. Тем не менее, я постараюсь дать вам ответ на этот вопрос здесь.
Некоторые вещи, которые нужно иметь в виду:
Ссылки
[1] http://en.wikipedia.org/wiki/Birthday_problem
[2] Матис, Фрэнк Х. (июнь 1991 г.). «Обобщенная проблема дня рождения». SIAM Review (Общество по промышленной и прикладной математике) 33 (2): 265–270. JSTOR Ссылка
источник