Если ваш скрипт может декодировать пароли, то может кто-то взломать ваш сервер. Шифрование действительно полезно только тогда, когда кто-то вводит пароль для его разблокировки - если он остается разблокированным (или в сценарии есть пароль для разблокировки), шифрование бессмысленно
Вот почему хеширование более полезно, поскольку это односторонний процесс - даже если кто-то знает хэш вашего пароля, он не знает простого текста, который необходимо ввести для его генерации (без большого количества грубой силы)
Я бы не стал беспокоиться о сохранении паролей к игре в виде простого текста. Если вы обеспокоены их защитой, исправьте, возможно, SQL-инъекции и т. Д., Убедитесь, что ваш веб-сервер и другое программное обеспечение обновлены и правильно настроены и т. Д.
Возможно, придумаете способ сделать пароли менее привлекательными, чем играть в игру? Например, была игра (я не помню, что это было), в которой, если вы использовали чит пропуска уровня, вы переходили на следующий уровень, но он не помечал его как «завершенный», или вы могли пропустить уровень но не получил ни одного очка. Или посмотрите на Project Euler, вы можете пройти любой уровень, но вы получаете очки только тогда, когда вводите ответ (а отработка ответа - это весь смысл игры, поэтому обман обманывает игру)
Если вы действительно параноик, вы можете возможно использовать асимметричное шифрование, где вы в основном шифруете что-то с помощью key A
, и вы можете читать это только с помощью key B
..
Я придумал аналогичную концепцию использования шифрования GPG (популярная асимметричная криптосистема, в основном используемая для шифрования или подписи электронной почты) для защиты данных сайта . Я не совсем уверен, как это применимо к защите паролей игрового уровня, и, как я уже сказал, вам нужно быть по-настоящему параноиком, чтобы даже подумать об этом ..
Короче говоря, я бы сказал, хранит пароли в виде простого текста и концентрирует ваши проблемы безопасности в другом месте (сам код веб-приложений)