Сгенерированные символы пароля, которые трудно ошибиться - PullRequest
3 голосов
/ 21 июля 2010

Я разрабатываю инструмент, в котором генерируется короткий код доступа. Этот код будет читаться предполагаемому пользователю, поэтому я хочу ограничить свой набор символов буквами, которые трудно ошибиться. И читатель, и слушатель будут неподготовлены, поэтому любое решение должно быть для них прозрачным. Я хочу иметь возможность просто дать им код-пароль и очень маловероятно, что письмо будет неправильно услышано.

Во-первых, я ограничил свой список возможных символов теми символами, которые выглядят одинаково в зависимости от шрифта, поэтому нет l или 1, 0 и O, как и S и 5, какие-либо другие, которые вы можете придумать?

Кроме того, я хочу удалить буквы, которые звучат одинаково, поэтому G & D и B & P отсутствуют. Есть ли ресурс, который обычно неправильно слышат?

Я знаю, что это сильно сократит число возможных символов, но мне это нужно из-за проблем с доступностью. Кроме того, человек на принимающей стороне кода, вероятно, не будет знать, что я ограничиваю набор символов. Тот факт, что я ограничиваю количество символов, должен быть понятен как человеку, читающему пароль, так и тому, кто его слышит.

Ответы [ 8 ]

1 голос
/ 21 июля 2010

Хмм ... Я предполагаю, что код будет визуальным представлением, которое будет затем прочитано конечному пользователю? потому что если бы это говорилось с помощью синтеза речи, то 0 и O не было бы проблемой, верно?

Если да, то сможете ли вы визуально помочь с представлением этого кода?

Ваш код
[M] Айк [C] Харли [5] пять ...

1 голос
/ 21 июля 2010

Я нашел похожее обсуждение в гугл-ответе: http://answers.google.com/answers/threadview/id/521339.html

Это может помочь вам, посмотрите ответ, данный pinkfreud-ga

1 голос
/ 21 июля 2010

Разве вы не можете прочитать его с фонетическим алфавитом НАТО?

Альфа Б Браво С Чарли D Delta E Echo Ф Фокстрот G Golf H Hotel Я индия Джульетта К килограмм Л Лима M Майк N ноября О Оскар Папа Папа Q Квебек Р Ромео Сьерра Т Танго U Униформа V Виктор W виски Рентгеновский Y Yankee Z Zulu

Если нет, то вам действительно нужно выбросить любую букву со звуком "ee" в конце, т.е. В, С, D, Е, G, P, T, V, Z

0 голосов
/ 04 августа 2010

После принятия предложений в других ответах я приведу сокращенный список символов, который, как мне показалось, трудно ошибиться при разговоре или просмотре.

fhikorsuwxyFHKLQRUWXY246789

Особая благодарность:

Без их предложений я бы не смог обобщить этот список.

0 голосов
/ 22 июля 2010

Некоторые нестандартные опции ...

Если не содержит случайных чисел и букв, вы можете использовать словарь слов.Тогда человеку не пришлось бы зачитывать каждый символ.Затем слово можно дополнить цифрами, чтобы сделать его более уникальным.

3power41
69topic31

Еще одна возможность - сделать все наборы из двух символов смежными друг с другом.

ab-pq-78-de-mn-op

Было былегче заметить, когда персонаж отрывается от этого паттерна, потому что он был неправильно услышан (даже тот, кто не обучен, вероятно, заметит паттерн).

При вводе подобного паттерна можно использовать аналогичные буквы на клавиатуре.

qw-df-hj-io-23-we

Возможности безграничны.

0 голосов
/ 22 июля 2010

Установите легко читаемую кодировку и затем перемешайте ее.

Вот решение на Ruby

charset = %w{ 2 4 6 7 f h q w x y }
password = (0...10).map{ charset.to_a[rand(charset.size)] }.join

Это создает пароли типа "" qh4w26wxfq "

0 голосов
/ 21 июля 2010

Выберите только несколько символов и используйте их:

APJZCHWRTE
apjzchwrte

Хотя хороший пароль заканчивается длинным. добавьте несколько цифр, и вы сможете создать более короткие пароли.

0 голосов
/ 21 июля 2010

Этот подход кажется немного сложнее, чем нужно, особенно с учетом числового ограничения внешнего вида. Почему бы не ограничить буквы и цифры определенными позициями в пароле и дать понять, что «первые символы X будут алфавитными, а последние символы X будут числовыми»?

Фонетический алфавит НАТО, такой как JNKyle, также будет полезен для визуальной обратной связи, если вы сможете его использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...