Генерируем passwd hash без Apache tools (только openssl)

Генерируем passwd hash без Apache tools (только openssl)
Photo by rc.xyz NFT gallery / Unsplash

Иногда нужно сгенерировать хеш пароля для файлов .htpasswd, но под рукой нет Apache tools (htpasswd). Решение простое - используем openssl, который есть и в MacOS, и в Linux.

Генерация хеша для htpasswd

С солью (рекомендуется):

openssl passwd -1 -salt "случайная_соль" ваш_пароль

SHA256 (более безопасный вариант):

openssl passwd -5 ваш_пароль

SHA1 (формат Apache):

openssl passwd -1 ваш_пароль

Пример для MacOS/Linux

$ openssl passwd -1 mysecretpassword
$1$X.YwE4vB$JZ5D6qL9nUzQhOaTkP7rV0

Полученный хеш можно сразу использовать в .htpasswd:

username:$1$X.YwE4vB$JZ5D6qL9nUzQhOaTkP7rV0

Важно

  • В MacOS и Linux команды идентичны
  • -1 = MD5 (стандарт для htpasswd)
  • -5 = SHA256 (более безопасный)
  • Всегда используйте соль для безопасности

Теперь вы можете создавать хеши паролей без установки дополнительных пакетов!