Скомпилировать MySQL для AES 256 бит.
-
10-07-2019 - |
Вопрос
В соответствии с документ MySQL
«Используется кодировка с длиной ключа 128 бит, но вы можете расширить ее до 256 бит, изменив источник».
Но они, похоже, не дали инструкций, где измениться.Кто-нибудь сталкивался с этой ситуацией?какой исходный файл следует изменить?
Примечание:я использую эти шаги для компиляции.
Решение
Я нашел небольшую помощь из списка рассылки р>
файл include / my_aes.h
#define AES_KEY_LENGTH 128 /* must be 128 192 or 256 */
поскольку я использую OpenSuSe 11.1, мне нужны следующие инструменты
sudo zypper install gcc gcc-c++ ncurses-devel
затем просто скомпилируйте его по этой инструкции - здесь
Кредит для LenZ и tripanel.net
Другие советы
Вероятно, это будет более удобное в обслуживании решение для выполнения шифрования в клиентском приложении.
Более того, вы также получите преимущество в том, что данные будут передаваться по сети зашифрованными, а не отправлять ключ по сети (конечно, вы в любом случае можете использовать SSL для подключения к MySQL, чтобы смягчить это).
Если это не кажется хорошим подходом, опубликуйте свои требования.
Вероятно, вы не захотите компилировать свои собственные двоичные файлы MySQL;есть более полезные вещи для разработчиков, чем создание собственных двоичных файлов MySQL.MySQL/Sun тщательно протестированы и не будут содержать снижения производительности (мы надеемся).
Функции mysql AES_ENCRYPT() также потенциально небезопасны, поскольку они не документированы.
- Как они хешируют пароль в ключ
- Какой режим шифрования они используют
Если они выполнены уязвимым способом, шифрование может быть очень слабым.Имеет ли это значение, зависит от вашего варианта использования.