![]() |
|
|
![]()
|
|
| bio_hazard |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.6.2007 Репутация: нет Всего: 1 |
Здравствуйте. Подскажите каким образом генерируются номера для карточек оплаты. Нашим новым клиентам будут выдаваться карты с защитным слоем, который надо стереть и потом карту можно активировать на сайте. Как сгенерировать номера, чтобы уменьшить вероятность подбора номера, простым перебором? Мне кажется что в данном случае подойдет алгоритм такой же какой используется при генерации номеров карт экспресс оплаты, но что он из себя представляет я не знаю.
|
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 2 Всего: 17 |
Randomize + проверка после генерации по БД, а не было ли уже такого номера?
Ну и конечно надо выбрать разумную длину номера. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| bio_hazard |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.6.2007 Репутация: нет Всего: 1 |
Спасибо, наеврное так и буду делать.
|
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
Ну и генератор нормальный нужен.
|
|||
|
||||
| maxdiver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: 16 Всего: 18 |
Да, стандартный rand(), или какой в вашем языке, не нужно использовать, а то будет возможность предсказания следующих номеров, зная много предыдущих. Ну и, конечно, самоизобретённых генераторов тоже ни в коем случае нельзя
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Если выполнять переинициализацию генератора после каждой генерации - не распредсказываешься... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| maxdiver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: 16 Всего: 18 |
Согласен. |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
далеко не факт. Чем переинициализировать? Стандартными средствами: что там? текущее время, uptime? в случае массового выпуска карточек подряд (за один заход) каждое инициализационное значение легко получается из предыдущего. Инициализация должна проходить числами, которые невозможно предсказать - возвращаемся к первоисходной проблеме. + невозможность предсказать следующее значение последовательности по предыдущему. Под хорошим генератором имеется ввиду криптографически-стойкий генератор инициализируемый случайными данными. Реализации криптографически-стойких генераторов можно найти, а случайные данные - ну попросить пользвоателя перед выпуском пачки карточек поклацать по клавиатуре да поводить мышкой для набирания случайности. Это сообщение отредактировал(а) Alexandr87 - 4.12.2008, 17:11 |
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
Кстати можно будет попробовать смоделировать ситуацию.
|
|||
|
||||
| maxdiver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: 16 Всего: 18 |
Ну казалось бы, взять вон rdtsc в качестве инициализатора - и как его предскажешь?
|
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
ну, уже лучше - думаю, случайности, вносимой rdtsc, будет достаточно. Суть поста была в том, что не всякая инициализация годится для подобных целей. Это сообщение отредактировал(а) Alexandr87 - 5.12.2008, 07:39 |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |