Как вычислить алгоритм генерации промокодов для Яндекс.Такси?

Суть задачи такова. Есть промокоды от Яндекс.Такси вида [OKUFC][0-9](8 чисел). У меня есть 3 промокода, для примера:
OKUFC01397397
OKUFC59050013
OKUFC15209026
Таких промокодов много (больше 5000 точно), т.к. они даются каждому в Окее на кассах во всем городе. Числа в промокоде повторяются как минимум 1 раз (т.е. кода 01234567 быть не может). При просмотре множества рабочих промокодов, не было замечено ни одной последовательности. Числа не рандомные, я пытался вбивать в поле в приложении. Также, я декомпилировал Яндекс.Такси, но при беглом рассмотрении всего кода, ничего не нашел.
Я же хочу найти по какому алгоритму они сгенерированы
Мои предположения: Все промокоды лежат в БД, которые были сгенерированы каким то алгоритмом. Возможно, был использован какой нибудь MD5 и далее были использованы только числа. Проверить свои догадки может каждый, введя промокод в приложении
P.S. Заранее спасибо за ответы. Интерес чисто спортивный
  • Вопрос задан
  • 5213 просмотров
Решения вопроса 1
riot26
@riot26
<:З )~~
Любой школьник, умеющий на пхп связать 2 строчки знает, что промо-коды надо генерировать не по какому-то алгоритму, а рандомно и держать их в БД. А в Яндексе далеко не школьники сидят.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
GavriKos
@GavriKos
Если вам нужно вычислить именно алгоритм когда из входных данных только его результаты - то проще всего перебором известных алгоритмов это проверять. От банального рандома до чего угодно.

Но в данном случае - это бесполезная затея. Т.к. даже если промокд верный - он уже просто может быть активирован - т.е. нет возможности наверняка проверить валидность сгенерированого промокода.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Возможно ли вычислить алгоритм генерации промокода для Яндекс.Такси?
По промокоду - невозможно. Да и зачем вам алгоритм - непонятно.

Если вы говорите о том чтобы самому подобрать подобрать валидный промокод - вероятность есть, но ничтожно малая.
В общем непонятно что вы хотите получить в итоге.
Ответ написан
@vilgeforce
Раздолбай и программист
Теоретически задача может быть решена. Практически - скорее нет, если учесть что алгоритмов генерации бесчисленное множество.
Ответ написан
@timadevelop
Официант, еще десяток часов в мои сутки пожалуйста
По-моему, если вы хотите узнать какой алгоритм они юзают, то идеально было бы устроится на работу в Яндекс.Такси, получить доступ к исходникам и радоваться найденному фрагменту кода) И прислушайтесь к riot26
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы