Шифрование с использованием Crypto-js в Javascript, расшифровать в PHP с помощью mcrypt?

У меня есть простая игра на JavaScript, которая отправляет оценку PHP, добавляя ее к URL-адресу, а затем PHP использует GET, чтобы получить ее. Очевидно, обмануть это настолько легко, насколько это вообще возможно. Я хотел бы сделать немного раздражающим читерство в игре. Я не ищу, чтобы это был форт Нокс или что-то в этом роде; в этом нет никакого смысла, но было бы неплохо, если бы было немного сложнее изменить свой счет.

Итак, я хочу зашифровать числовую оценку с помощью Crypto-JS, а затем расшифровать ее на PHP. Я не могу понять, как получить тот же ответ с помощью Crypto-JS, как я получаю с помощью PHP mcrypt.

Я понимаю, что любой может прочитать код и выяснить, как его взломать с помощью JavaScript; это нормально. Это вообще не конфиденциальные данные, и если они пойдут на такие неприятности, они все равно потратят больше усилий, чем нужно, чтобы пройти игру.

Альтернативные методы шифрования партитуры тоже подойдут; для моих целей достаточно всего того, что действительно потребовало бы от среднего школьника потратить более 5 минут работы, чтобы «взломать». Какие-либо предложения?

Крипто-JS: http://code.google.com/p/crypto-js/


person Raine Dragon    schedule 27.03.2012    source источник
comment
Пожалуйста, покажите нам, что вы пробовали! Может быть, мы сможем изменить ваш код, чтобы получить правильные результаты ...   -  person Maarten Bodewes    schedule 28.03.2012


Ответы (1)


Вы можете попробовать отправить значения, например:

whatever.php?score=UNHASHED_SCORE&key=MD5(SALT . SCORE)

Затем в проверке PHP:

$_GET['score'] == md5(SALT . $_GET['key'])

Где значение $ salt - это случайная строка, значение которой вам известно.

person Captain Insaneo    schedule 27.03.2012
comment
Приятно, не испортит и исходный код, просто добавлю немного проверки, легко поддающейся отладке. Я бы обратил особое внимание на (символьную) кодировку ввода хеш-метода MD5, иначе у вас могут возникнуть проблемы. - person Maarten Bodewes; 28.03.2012