Existem várias maneiras de analisar o resumo real da saída de md5sum
:
-
grep -E -o '[[:alnum:]]+'
, isso retornaria a parte alfanumérica da saídamd5sum
, mas também forneceria a você quaisquer bits de nome de arquivo se presentes na saída (não no caso apresentado na pergunta, pois o nome do arquivo é-
, entrada padrão ). -
cut -d ' ' -f 1
, isso simplesmente retornaria o bit da saída antes do primeiro caractere de espaço. Esta é sem dúvida a maneira mais comum de obter a string de digestão MD5 "nua". - Variações no tema
cut
incluemawk '{ print $1 }'
e coisas semelhantes.
Para geração de senha, sugiro usar pwgen
em vez de um resumo MD5, principalmente porque um resumo MD5, a menos que computado sobre dados aleatórios, não é aleatório.
Um hack seria usar algo como
tr -dc '[:alnum:]' </dev/urandom | dd bs=1 count=32 2>/dev/null
Isso extrairia um fluxo de caracteres alfanuméricos de /dev/urandom
e dd
reduziria o fluxo após 32 desses caracteres. Em vez de dd
, também é possível usar head -c 32
.
Ou usando md5sum
(neste caso, mais de 1Kb de dados aleatórios de /dev/urandom
):
dd if=/dev/urandom bs=1k count=1 | md5sum | cut -d ' ' -f 1
Mas, na verdade, basta instalar e usar pwgen
.
Veja também Quando usar / dev / random vs / dev / urandom