Я буду держать это коротким и простым.В составе библиотеки PHP mcrypt имеется около 40 возможных шифров, см. Здесь .
Я не очень разбираюсь в шифровании, я работаю в предположении, что независимо от используемого шифра,данные при расшифровке идентичны зашифрованным данным (в противном случае, в чем смысл?)
Мне нужно зашифровать, а затем расшифровать либо массив, либо сериализованный стандартный объект.Я просмотрел пару примеров в Интернете базовой реализации библиотеки mcrypt и заметил, что в каждом примере используется отдельный шифр.Меня удивило, было ли в этом какое-то значение или просто личное предпочтение?
Мой вопрос: есть ли существенные различия между этими шифрами, о которых я должен знать, зная, что
- Я буду шифровать / дешифровать - это либо массив, либо сериализованный стандартный объект, и он содержит относительно мало данных.
- Эта операция будет довольно необычной, поэтому скорость не является большой проблемой, где бы то ни было в диапазоне<2s приемлемо. </li>
- Зашифрованную строку необходимо сохранить в файле cookie и передать через строку запроса url (поэтому существуют ограничения по длине и набору символов)
Примечание
Я не после дебатов о том, должен ли я использовать хеш или hmac.Шифрование необходимо и правильный вариант для этой проблемы.