Генерация 10-значных пин-кодов

kruglov

Новичок
С.
Лучший "специальный алгоритм", это рандом, хранящийся в базе.
 

NikR

Новичок
Почитайте теорию вероятностей - равномерное распределение - генерация псевдослучайных последовательностей. Есть очень простой алгоритм - кажись: a(n+1)=a(n) mod M +N ( или (a(n) + N) mod M - не помню). Важен выбор М и N (простые)!
Формулы возможно кардинально отличаются - давно изучал.
 

С.

Продвинутый новичок
Автор оригинала: kruglov
Лучший "специальный алгоритм", это рандом, хранящийся в базе.
Во-первых, народ просит "непохожие" номера.

Во-вторых, когда 99,9% "левых" номеров отбраковывется без обращения к базе, то это есть хорошо.
 

partizan

Новичок
Когда появляются "левые" номера - это уже повод задуматся, и кого-нибудь забанить .

По поводу похожести:
Если при добавлении каждого нового пин-а проверять все имеющиеся в базе на "похожесть" получается примерно N*M операций (N-сколько было, М-сколько добавили)

Можно сначала добавить в базу много новых кодов, а потом среди них искать похожее.
Думаю, это можно реализовать зо (N+M)*log(N+M) операций
 

С.

Продвинутый новичок
Людям свойственно еще и опечатываться, не только хакерить.

Номера с контрольными цыфрами используются в номерах банковских счетов. Так что случайно отправить деньги на другой счет, отличающийся одной цифрой, практически не удастся.

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