Проблемы с хранением зашифрованных паролей в базе данных MSQL - PullRequest
0 голосов
/ 20 февраля 2019

Моя среда:

  • Система: MacOs 10.17.3, 64-битная
  • База данных: MySQL 8.0, 64-битная

Параметры MySQL:

  • system variables:
  • table info:

Моя проблема:

Я попытался вставить зашифрованный пароль в таблицу с помощью следующего оператора SQL

    INSERT INTO users
    VALUES ('me@example.com', AES_ENCRYPT('my_password',
    UNHEX('F3229A0B371ED2D9441B830D21A390C3')));

И получаю следующий результат:

ОШИБКА 1366 (HY000): Неверное строковое значение:«\ xE3Hx5d \ xCC ...» для столбца «пароль» в строке 1

Может кто-нибудь пролить свет на то, как я могу решить эту проблему?Спасибо за ваше время.

1 Ответ

0 голосов
/ 20 февраля 2019

Вы должны установить набор символов для имени вашего поля:

character set = ascii

и

collation = ascii_general_ci

что-то вроде:

ALTER TABLE yourtablename MODIFY
    fieldname VARCHAR(60) #depends on your designated max value
      CHARACTER SET ascii
      COLLATE ascii_general_ci;
...