Здравствуйте, andy1618, Вы писали:
А>>Дык, две возможности всего. Не использовать в конечном алфавите сразу при генерации, или заменять на последовательность, которая гарантированно не встретится в результирующей строке.
A>Ниже привели ещё один способ — считать схожие символы одинаковыми.
Это и есть "не использовать". А описанный способ -- просто метод получения редуцированного алфавита из "большого", привычного нам.
A>Кстати, для русскоязычного приложения есть ещё одна проблема — схожесть в написании русских и латинских букв (классический пример — MOCKBA).
A>Для решения этой проблемы можно первым символом серийника сделать какую-нибудь явно латинскую букву (типа L, F, D и т.п.), чтобы юзер сразу переключил раскладку клавы на нужный язык.
А вот не факт что поможет

Юзеры -- они разные бывают.