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