Você pode (ab) usar o pacote htpasswd
do pacote apache-utils , desde que tenha a versão 2.4 ou superior.
htpasswd -bnBC 10 "" password | tr -d ':\n'
-b
recebe a senha do segundo argumento de comando
-n
imprime o hash para stdout em vez de gravá-lo em um arquivo
-B
instrui a usar bcrypt
-C 10
define o bcrypt custo para 10
O comando htpasswd simples é exibido no formato < name >: < hash > seguido por duas novas linhas. Daí a string vazia para o nome e tr
retirando os dois pontos e as novas linhas.
O comando gera bcrypt com $2y$
prefixo, o que pode ser um problema para alguns usos, mas pode ser facilmente corrigido por outro sed
, pois a variante OpenBSD usando $2a$
é compatível com a variante crypt_blowfish fixa usando $2y$
.
htpasswd -bnBC 10 "" password | tr -d ':\n' | sed 's/$2y/$2a/'
Link para a página de manual do htpasswd: link
Detalhes sobre variantes do bcrypt: link