MCrypt может быть вашим другом здесь.Однако необходимо учитывать, что для каждого общедоступного (и полезного) метода шифрования требуется ключ.Если для шифрования AES или 3DES не требуется ключ во время процесса шифрования, то для взлома шифрования достаточно будет попробовать все стандартные методы дешифрования, пока вы не получите значимый результат.Таким образом, хранение ключа для вашего платежного шлюза влечет за собой те же риски, что и хранение ключа для вашего шифрования.Независимо от того, сколько слоев шифрования вы хотите добавить, на каком-то уровне должен быть ключ, хранящийся в виде простого текста, обычно жестко запрограммированного в PHP и часто во включенном файле config.php
, чтобы его было легко изменить вбудущее.
Единственным вариантом безопасного хранения информации без необходимости использования ключа является изобретение собственного метода шифрования.Безопасность этого метода заключается исключительно в том, что никто не знает, какими средствами вы шифруете строку, поэтому у них нет пошагового шаблона, чтобы просто пройти назад.Если вы когда-нибудь скажете кому-нибудь, как работает ваше шифрование, то безопасность будет потеряна.Также существует множество алгоритмических способов взлома простых шифрований (например, замена букв).Вот почему математики получают много денег за разработку таких вещей, как AES.
Лучше всего вам изучить MCrypt Encrypt и MCrypt Decrypt .Таким образом, если скомпрометирован только ваш PHP, они узнают ключ, который вы использовали для шифрования, но у них нет данных.Если скомпрометирована только база данных, у них есть данные, но не ключ, который вы использовали для шифрования.Если оба скомпрометированы, вы облажались.Но если оба скомпрометированы, вы облажались, что бы вы ни делали, так что это довольно безопасный путь.