Intereting Posts
Солить с хешированной версией пароля пользователя так же безопасно, как солить с заранее определенной строкой? Woocommerce WC_Order get_shipping_address () не возвращается как массив PHP Slim Framework Создать контроллер Как проверить электронную почту и электронную почту уже существует или не проверять в Yii Framework? Запросы нескольких клиентов HTTP не хранят данные сеанса Метод POST возвращает 405 метод, который не разрешен на сервере производства Apache – проект Symfony3 переписать / замаскировать внешнюю ссылку внутри статьи Функция / процедура PHP для динамического связывания вопросительных знаков $ _SERVER возвращает два PHPSESSID Можно ли запустить функцию в переменной шаблона Silverstripe для форматирования вывода? Как преобразовать массив в строку слов, разделенных запятой? Ошибка Google OAuth2 – отсутствует необходимый параметр: grant_type при обновлении Как необязательно добавить запятую и пробел в группу захвата? заменить входной файл формы прямой загрузкой файла Почему PHP не имеет конструктора по умолчанию?

MySQL – Как хранить AES_Encrypted данные?

Поэтому я просматривал интернет и сталкивался с встроенной функцией MySQL AES_ENCRYPT. Это не кажется слишком сложным в использовании, но некоторые источники говорят мне хранить зашифрованные данные как VARCHAR, а некоторые говорят, что они хранят его как BLOB. Что я должен хранить зашифрованные данные как?

Многие функции шифрования и сжатия возвращают строки, для которых результат может содержать произвольные байтовые значения. Если вы хотите сохранить эти результаты, используйте столбец с двоичным строковым типом данных VARBINARY или BLOB. Это позволит избежать возможных проблем с удалением конечного пространства или преобразованием набора символов, которое изменило бы значения данных, например, если вы используете недвоичный строковый тип данных (CHAR, VARCHAR, TEXT).

Источник: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html

Если вам нужно использовать VARCHAR, а не BLOB, тогда конвертируйте зашифрованный двоичный код в Base64, который использует только печатные символы и может быть безопасно сохранен как VARCHAR. Конечно, вам нужно будет преобразовать его из Base64 в двоичный файл перед расшифровкой.

Вы можете использовать Binary. BINARY в STRING. Он должен работать. Я использую его. Напишите мне ответ, если он не работает.

Я всегда использовал blobs для хранения зашифрованных данных в MySQL.