Специальные символы в MySQL Password [закрыто]

наше приложение продолжает иметь проблемы с паролями MySql. Мы хотели бы создать функцию для проверки правильности пароля до его представления в базу данных.

может ли кто-нибудь направить меня к рекомендациям для паролей MySql, связанных с этими 2 темами:

  1. максимальная длина пароля (хэш хранится как 16 бит varchar, что не означает, что 16-максимальная длина)
  2. какие знаки препинания / специальные символы можно использовать в пароле MySql?

3 ответов


MySQL 5.6.6 является первым выпуском, который имеет какие-либо рекомендации по силе пароля или принудительное исполнение.

см.http://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html

но для чего это стоит, никогда не было никаких ограничений на длину пароля и символы. MySQL хранит хэш строки пароля, а не саму строку, и хэши всегда хранятся как строка фиксированной длины шестнадцатеричных цифр, а не пароль открытым текстом.

вы не конкретизируете, какие проблемы ваше приложение имеет с паролями MySQL. Возможно, если вы отредактируете свой вопрос, чтобы описать эти проблемы более подробно, вы сможете получить более конкретный ответ.


Я использую MariaDB 10.0.13-символ " \ " немного особенный. Если вы определяете пароль с помощью пароля ("текст"), не забудьте избежать использования"\".

пример: Установить пароль для пользователя@localhost = PASSWORD ('\\');

затем вы можете использовать один " \ " для пароля с mysql: mysql-u user --password='\'


по состоянию на этот список почты, по умолчанию длина пароля составляет 16 символов, но вы можете изменить его командой alter table.

для специальных символов нет специальной документации о разрешенных символах пароля. но по этой ссылке написано, что все символы ASCII разрешены для пароля. http://dev.mysql.com/doc/refman/5.6/en/user-names.html