Skip to content

cyfive/passwd-hash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Скрипт для помощи в генерации хешированного пароля

Зависимости

Скрипт на Python требует установленной версии Python > 3.

Скрипт на bash использует для генерации хешированного пароля openssl > 1.1, поэтому соответствующий пакет должен быть установлен и команда openssl должна быть доступна в PATH.

Общая информация

Shell версия считается устаревшей, т.к. корректно работает только на форках RHEL.

В Python версии:

  • Игнорируется переменная окружения SALT_LENGTH, т.к. в модуле crypt всегда используется максимальная длинна соли для выбранного типа шифрования.
  • DEBUG > 1 имеет такое же поведение, как и DEBUG = 1, это обусловлено тем, что нет смысла выводить скрипт на экран, для его отладки лучше использовать какой нибудь отладчик.
  • Выдается предупреждение, что модуль crypt устаревший, и будет удален. На текущий момент адекватная замена потребует установки модулей из PyPy и ищется вариант отказа от него без дополнительных танцев с бубном.

Настройки

Настройки производятся через установку переменных окружения перед запуском скрипта. Для установки доступны следующие переменные:

DEBUG - вывод отладочной информации, значение по умолчанию 0, может принимать значения 1 - вывод значений переменных, 2 - трассировка выполнения скрипта.

SALT_LENGTH - длинна соли, значение по умолчанию 16.

CIPHER - тип хеш функции, может принимать следующие значения 1 - MD5, 5 - SHA256, 6 - SHA512 (значение по умолчанию).

SALT - соль используемая для генерации хеша. Должна содержать так-же и код алгоритма. По умолчанию используется случайно сгенерированная соль.

Все значения по умолчанию используются как в CentOS при хешировании пароля и при обычной эксплуатации не требуют изменений.

Примеры запуска

Обычный запуск скрипта

[semets@pc-emets passwd-hash]$ ./passwd-hash.py 
Password: 
$6$hRGmGhbBXYu2H4ai$SeKOVSwvmJbWG2diymXsxOg6A9nNty82G/Je5m9rNzNrBJ5aeapfWkocbQLZ2AEnBpl80i7yIy/3Yi2RcZ.y21
[semets@pc-emets passwd-hash]$ 

Запуск с отладкой, уровень 1

[semets@pc-emets passwd-hash]$ export DEBUG=1; ./passwd-hash.py 
Salt lenght: 16
Chipher: -6
Random salt: 9k6FyocAgAY5Wg55
Password: 
$6$9k6FyocAgAY5Wg55$cdTJ9JE5NzwYQ83MJN/BypaupvHDl6.LJycXM4YGMb6mV6aTSAjuruJ/8ANiaSYdRWdpYnyvi8d2lwVpBuClc1
[semets@pc-emets passwd-hash]$

Генерация MD5 хеша

[semets@pc-emets passwd-hash]$ export CIPHER=1; ./passwd-hash.py 
Password: 
$1$K7g9yn3f$gdbDSeEukuHStvnfeCsrl/
[semets@pc-emets passwd-hash]$ 

About

Helper script for generating password hashes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published