Для чего нужен md5?
Многие игроки на вопрос: "Чего не хватает в проектах?" отвечают: Прозрачности!
Прозрачность - это не что иное, как возможность убедиться в невмешательстве администрации проекта в процесс игры, подтасовки результата и иного рода нечестных манипуляций.
В нашем проекте существует контроль честности при помощи алгоритма необратимого шифрования MD5.
Что такое md5?
MD5 (RSA Data Security, Inc. MD5 Message-Digest Algorithm) – это общепризнанный и широко применяющийся в мире алгоритм. Суть его работы состоит в том, что в результате обработки строки символов он дает уникальный 128 битный хэш (аналог ЭЦП – электронная цифровая подпись), который при малейшем изменении исходного текста меняется до неузнаваемости. Найти 2 разные строки, при обработке которых по алгоритму MD5 получается одинаковый MD5 хэш, достаточно сложно, долго и ресурсозатратно.
Таким образом, если перед игрой, игрок получает MD5 хэш ответа, а после игры – исходную строку (с обязательным включением результата игры), то можно со 100% уверенностью утверждать, что после оплаты и в процессе игры результат не был подтасован. Точнее, это можно и нужно проверять!
Объясняем на пальцах:
Игрок сделал заказ на забег. Открыл игру и увидел там MD5 хэш ответа. К примеру – 9cf7bb7a2619e8013cb80995be01480a (32 символа). Игра прошла, есть результат. Появилась исходная строка, которая содержит результат игры + секретный код (генерируется случайным образом для защиты от подбора MD5 хэша, при короткой строке результата). К примеру - RESULT = 3 5 1 2 4 STRING=gDjWFnVviZxT9Hdea7yMOgR8Ed4ofsBN, где 3 5 1 2 4 – результат забега.
На любом независимом сервисе генерации MD5 хэшей или в любой программе, позволяющей сделать это, игрок может обработать строку RESULT = 3 5 1 2 4 STRING=gDjWFnVviZxT9Hdea7yMOgR8Ed4ofsBN по алгоритму MD5 и получить MD5 хэш = 9cf7bb7a2619e8013cb80995be01480a. Т.е. аналогичный исходному.
Получилось, что ответ был известен до начала игры. Независимо от того, на каких персонажей вы делали заказ, скорректировать результат в процессе игры было невозможно.
Примеры онлайн интернет-сервисов, где можно проверить md5:
https://www.md5.cz/
https://www.md5online.org/
https://www.decodeit.ru/md5/