[PHP-NOTES] note 130678 added to function.password-hash

[email protected] ("Anonymous") Mon, 09 Mar 2026 16:26:00 +0000
Newsgroups php.notes
Message-ID <[email protected]>
Downloads
Documentation
Get Involved
Help
PHP 8.5
Search docs
password_needs_rehash »« password_get_info
Предисловие Справочник функций Криптографические модули Хеширование паролей Функции хеширования паролей
Язык: 
Russian
password_hash
(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_hash — Создаёт хеш пароля

Описание ¶
password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string
Функция password_hash() создаёт хеш пароля через сильный необратимый алгоритм хеширования.

Поддерживаются следующие алгоритмы:

PASSWORD_DEFAULT — алгоритм хеширования bcrypt. С PHP 5.5.0 bcrypt стал алгоритмом по умолчанию. По мере добавления в PHP новых усиленных алгоритмов значение константы изменяется и задаёт новый идентификатор алгоритма. При изменении алгоритма длина результата изменяется, часто увеличивается. Поэтому сохранять результат в базе данных лучше в столбце длиной больше 60 байтов. Длину поля устанавливают равной 255 байтам, чтобы сократить риск ошибок.
PASSWORD_BCRYPT — алгоритм хеширования bcrypt. С этой константой функция генерирует стандартный хеш с идентификатором $2y$, совместимый с хешем, который создаёт функция crypt().
PASSWORD_ARGON2I — алгоритм хеширования Argon2i. Алгоритм доступен, только если PHP скомпилировали с поддержкой Argon2.
PASSWORD_ARGON2ID — алгоритм хеширования Argon2id. Алгоритм доступен, только если PHP скомпилировали с поддержкой Argon2.
Алгоритм PASSWORD_BCRYPT поддерживает следующие опции:

salt (string) — пользовательская соль для хеширования пароля. Ручная установка соли переопределит поведение функции — предотвратит автоматическую генерацию соли.

При пропуске параметра функция password_hash() сгенерирует случайную соль для каждого хешируемого пароля. Это предпочтительный режим работы.

Внимание
Опция salt устарела в пользу соли по умолчанию, которую функция генерирует автоматически. Начиная с PHP 8.0.0 функция игнорирует пользовательскую соль.

cost (int) — алгоритмическая сложность. Пример работы с опцией доступен на странице с описанием функции crypt().

При пропуске параметра функция выберет значение по
----
Server IP: 206.189.2.9
Probable Submitter: 188.170.55.233
----
Manual Page -- https://php.net/manual/en/function.password-hash.php
Edit        -- https://main.php.net/note/edit/130678
Del: integrated  -- https://main.php.net/note/delete/130678/integrated
Del: useless     -- https://main.php.net/note/delete/130678/useless
Del: bad code    -- https://main.php.net/note/delete/130678/bad+code
Del: spam        -- https://main.php.net/note/delete/130678/spam
Del: non-english -- https://main.php.net/note/delete/130678/non-english
Del: in docs     -- https://main.php.net/note/delete/130678/in+docs
Del: other reasons-- https://main.php.net/note/delete/130678
Reject      -- https://main.php.net/note/reject/130678
Search      -- https://main.php.net/manage/user-notes.php