Специальные символы в MySQL Password [закрыто]
наше приложение продолжает иметь проблемы с паролями MySql. Мы хотели бы создать функцию для проверки правильности пароля до его представления в базу данных.
может ли кто-нибудь направить меня к рекомендациям для паролей MySql, связанных с этими 2 темами:
- максимальная длина пароля (хэш хранится как 16 бит varchar, что не означает, что 16-максимальная длина)
- какие знаки препинания / специальные символы можно использовать в пароле 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