Элементы процесса создания системы пин-кодов для индивидуализации доступа к.
Вот тут давече пытливые умы пытались выяснить тайное значение цифр пин-кодов для теста. Содержимое его, я думаю, мало кому будет интересно. Решил проиллюстрировать несложный механизм создания данных кодов.Первое - генерируется код пользователя, например "43101" - ну это у кого как фантазия, например, в случае с тестом для студентов, номер группы студента (431) и номер студента по списку (01). Получаем $user.
Далее. Берем хэш md5 от специально сформированной строки на основе секретных данных (строка 'MySiteName') и случайных данных (результат работы microtime()). Из него вырезаем 12 символов (а это будут шестнадцатеричные цифры все как на подбор). И, собственно, "распаковываем" из них массив из трех чисел, которые и будут последними тремя частями новоявленного "пин-кода".
function generate_pin($user) {
$hash = md5('MySiteName'.$user . microtime());
$part = substr($hash, 0, 12);
$nums = unpack("n3", $part);
$pin = $user . sprintf("-%04d-%04d-%04d", substr($nums[1],-4),
substr($nums[2],-4), substr($nums[3],-4));
return($pin);
}
Особо любопытных следует предупредить, что "любой" пин-код тут не подойдет. Все сгенерированные пинкоды хранятся в базе и выдаются "под карандашик". (Наверное, помните историю про ажиотаж с "генераторами" номеров карт СТК?)
Постоянная ссылка ·
Добавьте на news2.ru
Похожие записи:
- Отозвано 450 тысяч автомобильных детских сидений Evenflo
- Оплата за свет (электроэнергию) в Тюмени через интернет (пошаговая инструкция)
- Бронирование Скай-Экспресс, первые шаги (”хотел как лучше”)
- Сколько стоит звонить на обычные телефоны через Skype
- Новое промо от Скай-Экспресса, 2 по цене 1 для Тюмени


