Crypt. Хеширование паролей
^math:crypt[password;salt]
Хеширует
password с учетом
salt.
Параметры:
· | password - исходная строка;
|
· | salt - строка, определяющая алгоритм хеширования и вносящая элемент случайности в результат хеширования, состоит из начала и тела. Начало определяет алгоритм хеширования, тело вносит элемент случайности. Если тело не будет указано, Parser сформирует случайное.
|
Неразумно хранить пароли пользователей, просто записывая их на диск или в базу данных - ведь если предположить, что злоумышленник украдет файл или таблицу с паролями, он легко сможет ими воспользоваться. Поэтому принято хранить не пароли, а их
хеши - результат надежного однозначного необратимого преобразования строки пароля. Для проверки введенного пароля к нему применяют то же преобразование, передавая в качестве
salt сохраненный хеш, а результат сверяют с сохраненным.
Вносить элемент случайности необходимо, поскольку иначе потенциальный злоумышленник может заранее сформировать таблицу хешей многих частоиспользуемых паролей. Вторая причина: элемент случайности вносится на начальном этапе алгоритма хеширования, что существенно осложняет подбор пароля даже при использовании специальных аппаратных ускорителей.
Внимание: обязательно задавайте случайное тело
salt, или позвольте Parser сделать это за вас, попросту не указывая тело
salt, указывая только
начало salt.
Таблица доступных алгоритмов:
Алгоритм
|
Описание
|
Начало salt
|
Тело "salt"
|
MD5
|
встроен в Parser, доступен на всех платформах
|
$apr1$
|
до 8 случайных букв (в любом регистре) или цифр
|
MD5
|
если поддерживается операционной системой (UNIX)
|
$1$
|
до 8 случайных букв (в любом регистре) или цифр
|
DES
|
если поддерживается операционной системой (UNIX)
|
(нет)
|
2 случайных буквы (в любом регистре) или цифры
|
другие
|
какие поддерживаются операционной системой (UNIX)
|
читайте документацию на вашу операционную систему, функция crypt
|
читайте документацию на вашу операционную систему, функция crypt
|
Внимание: в Parser для использования в тексте символа '$' его необходимо предварить символом '^'.
Примечание: Веб-сервер Apache допускает в файлах с паролями (.htpasswd) использовать хеши сформированные по любому из алгоритмов, представленных в таблице, включая алгоритм, встроенный в Parser.
Содержание раздела