Spec-Zone.ru › MariaDB

ПАРОЛЬ

Синтаксис

PASSWORD(str)

Описание

Функция PASSWORD() используется для хеширования паролей для использования в аутентификации сервером MariaDB. Она не предназначена для использования в других приложениях.

Вычисляет и возвращает хешированную строку пароля из простого пароля str. Возвращает пустую строку (>= MariaDB 10.0.4) если аргумент был NULL.

Значение возврата — это строка без бинарного представления в наборе символов и сортировке подключения, определяемых значениями системных переменных набора символов и character_set_connection и collation_connection.

Это функция, которая используется для хеширования паролей MariaDB для хранения в столбце Password таблицы пользователей (см. разрешения), обычно используется с оператором SET PASSWORD. Она не предназначена для использования в других приложениях.

До MariaDB 10.3, значение возврата имеет длину 41 байт, и первый символ всегда «*». Начиная с MariaDB 10.4, функция учитывает плагин аутентификации, где это применимо (заявление CREATE USER или SET PASSWORD). Например, при использовании совместно с пользователем, авторизованным с помощью плагина ed25519, оператор создаст более длинный хеш:

CREATE USER edtest@localhost IDENTIFIED VIA ed25519 USING PASSWORD('secret');

CREATE USER edtest2@localhost IDENTIFIED BY 'secret';

SELECT CONCAT(user, '@', host, ' => ', JSON_DETAILED(priv)) FROM mysql.global_priv
  WHERE user LIKE 'edtest%'\G
*************************** 1. row ***************************
CONCAT(user, '@', host, ' => ', JSON_DETAILED(priv)): edtest@localhost => {
...
    "plugin": "ed25519",
    "authentication_string": "ZIgUREUg5PVgQ6LskhXmO+eZLS0nC8be6HPjYWR4YJY",
...
}
*************************** 2. row ***************************
CONCAT(user, '@', host, ' => ', JSON_DETAILED(priv)): edtest2@localhost => {
...
    "plugin": "mysql_native_password",
    "authentication_string": "*14E65567ABDB5135D0CFD9A70B3032C179A49EE7",
...
}

Поведение этой функции зависит от значения системной переменной old_passwords. Если она установлена в значение 1 (0 по умолчанию), MariaDB по умолчанию использует плагин аутентификации mysql_old_password для вновь созданных пользователей и паролей.

Примеры

SELECT PASSWORD('notagoodpwd');
+-------------------------------------------+
| PASSWORD('notagoodpwd')                   |
+-------------------------------------------+
| *3A70EE9FC6594F88CE9E959CD51C5A1C002DC937 |
+-------------------------------------------+
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');

См. также

  • Плагины проверки паролей — позволяет задать основные критерии для паролей
  • OLD_PASSWORD() — функция пароля до MySQL 4.1
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/password/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API