PHP 8.4.3 Released!

Предопределённые константы

Модуль определяет следующие константы и открывает доступ к ним только тогда, когда модуль либо собрали в PHP, либо динамически загрузили при выполнении кода.

Модуль Xpass предоставляет набор констант: константы семейства CRYPT_PREFIX_*, которые обозначают методы хеширования для параметра prefix функции crypt_gensalt(), константы семейства CRYPT_SALT_* c кодами ошибок, которые возвращает функция crypt_checksalt(), и константы семейства PASSWORD_*, которые обозначают алгоритмы хеширования паролей для параметра algo функции password_hash().

Методы хеширования
CRYPT_PREFIX_STD_DES (string)
Оригинальный метод хеширования из ОС Unix V7, который работает на основе блочного шифра DES. Парольную фразу, которую захешировали методом DES, возможно раскрыть, поскольку алгоритм нетребователен к ресурсам оборудования. Простота перебора DES-хешей объясняется тем, что метод выдаёт только 4096 возможных солей и 2**56 парольных фраз и обрезает до 8 символов. Из-за слабости DES-хешей шифром пользуются только при поддержке старых операционных систем, которые не поддерживают никаких других алгоритмов генерации хешей.
CRYPT_PREFIX_EXT_DES (string)
Расширение традиционного шифра DES, которое устраняет ограничение длины, увеличивает размер соли и разрешает настраивать цену обработки хеша. Метод берёт начало в ОС BSD/OS компании BSDI и за счёт библиотеки FreeSec за авторством Дэвида Баррена (David Burren) также доступен по крайней мере в системах NetBSD, OpenBSD и FreeBSD. Качество этого метода превосходит традиционные алгоритмы DES и bigcrypt, но алгоритмом по-прежнему стараются не пользоваться для новых хешей.
CRYPT_PREFIX_MD5 (string)
Хеш работает на основе алгоритма MD5, который первоначально разработал Пол-Хеннинг Камп (Poul-Henning Kamp) для ОС FreeBSD. Алгоритм поддерживается большей частью свободных Unix-систем и более новыми версиями ОС Solaris. Этот хеш не такой слабый, как хеши на основе алгоритма DES, но MD5 настолько дёшев для перебора на современном оборудовании, что им лучше не пользоваться для генерации новых хешей. Цена обработки не настраивается.
CRYPT_PREFIX_BLOWFISH (string)
Хеш работает на основе блочного шифра Blowfish, который модифицировали для генерации сверхдорогого расписания ключей. Алгоритм первоначально разработали Нильс Провос (Niels Provos) и Дэвид Мазьер (David Mazieres) для ОС OpenBSD. Алгоритм также поддерживается в последних версиях ОС FreeBSD и NetBSD, в Solaris 10 и новее и в ряде дистрибутивов GNU/*/Linux.
CRYPT_PREFIX_SHA256 (string)
Хеш работает на основе алгоритма SHA-2 с 256-битным выводом, который первоначально разработал Ульрих Дреппер (Ulrich Drepper) для GNU-библиотеки libc. Алгоритм поддерживается в ОС Linux, но не получил распространения в других местах. Алгоритм допустим для генерации новых хешей. Значение параметра цены обработки по умолчанию равняется 5000, что чрезвычайно мало для современного оборудования.
CRYPT_PREFIX_SHA512 (string)
Хеш работает на основе алгоритма SHA-2 с 512-битным выводом, который первоначально разработал Ульрих Дреппер (Ulrich Drepper) для GNU-библиотеки libc. Алгоритм поддерживается в ОС Linux, но не получил распространения в других местах. Алгоритм допустим для генерации новых хешей. Значение параметра цены обработки по умолчанию равняется 5000, что чрезвычайно мало для современного оборудования.
CRYPT_PREFIX_SCRYPT (string)
Scrypt — функция выведения ключа на основе пароля, которую создал Колин Персиваль (Colin Percival), первоначально для онлайн-сервиса резервного копирования Tarsnap. Алгоритм разработали, чтобы сделать дорогостоящим выполнение масштабных атак на пользовательское оборудование, требуя больших объёмов памяти. В 2016 году совет IETF опубликовал алгоритм scrypt как стандарт RFC 7914.
CRYPT_PREFIX_GOST_YESCRYPT (string)
Алгоритм Gost-yescrypt использует данные вывода функции yescrypt как входное сообщение для HMAC-кода с хеш-функцией межгосударственного криптографического стандарта ГОСТ Р 34.11-2012 — Streebog с 256-битным дайджестом. Поэтому криптографические свойства функции yescrypt заменяются свойствами хеш-функции ГОСТа. Этот метод хеширования полезен в приложениях, которым требуется современное хеширование парольной фразы, но которые вынуждены полагаться на алгоритмы ГОСТа. Совет IETF опубликовал хеш-функцию «Стрибог», которую описывает ГОСТ Р 34.11-2012, как стандарт RFC 6986. Алгоритм допустим для генерации новых хешей, если требуется.
CRYPT_PREFIX_YESCRYPT (string)
Yescrypt — масштабируемая схема хеширования парольной фразы, разработка специалиста по безопасности из России Александра Песляка по прозвищу Solar Designer, которая основана на функции scrypt Колина Персиваля. Хотя стойкость функции yescrypt к атакам подбора пароля обусловлена её алгоритмом, криптографическую безопасность функции гарантирует алгоритм SHA-256 на внешнем уровне. Хеш-функцию SHA-256 опубликовал институт NIST в стандарте FIPS PUB 180-2 и его следующих редакциях наподобие FIPS PUB 180-4, и совет IETF как стандарт RFC 4634 и впоследствии стандарт RFC 6234. Алгоритм рекомендуют для генерации новых хешей.
Error codes
CRYPT_SALT_OK (int)
Ошибки не возникали.
CRYPT_SALT_INVALID (int)
Неизвестный метод хеширования или недопустимые параметры.
CRYPT_SALT_METHOD_DISABLED (int)
Метод хеширования запретили.
CRYPT_SALT_METHOD_LEGACY (int)
Метод хеширования ненадёжен.
CRYPT_SALT_TOO_CHEAP (int)
Чрезмерно низкая цена обработки.
Парольные алгоритмы
PASSWORD_SHA512 (string)
Константа PASSWORD_SHA512 помогает создавать новые хеши паролей по алгоритму CRYPT_SHA512.
PASSWORD_YESCRYPT (string)
Константа PASSWORD_YESCRYPT помогает создавать новые хеши паролей по алгоритму CRYPT_YESCRYPT.
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top