O formato {smd5}
do AIX é um formato não padrão. É uma pequena variante do * BSD / Linux / Solaris “MD5” (que é o um gerado por openssl passwd -1
). Não consegui encontrar muita informação sobre isso. Há um código contribuído para John the Ripper (presente na versão jumbo 1.8.0) que calcula, no arquivo aix_smd5_fmt_plug.c
. Da leitura do código, parece que a diferença é que a variante BSD MD5 efetivamente preenche a string $1$
para o sal em um lugar, enquanto a variante do AIX não o faz. Não deve ser muito difícil corrigir o OpenSSL para suportar essa variante se você souber C.
Você pode alterar o algoritmo usado pelo AIX editando /etc/security/pwdalg.cfg
e adicione a linha lpa_options = std_hash=true
na sub-rotina smd5:
. A maneira normal de fazer isso é com o chsec
command :
chsec -f /etc/security/pwdalg.cfg -s md5 -a std_hash=true
Tanto quanto eu entendo, isso invalida as senhas registradas com o algoritmo não padrão.
Observe que o MD5 salgado do LDAP não é um bom hash de senha, porque não é lento. Como proteger com segurança as senhas de hash? explica o que isso significa. Os algoritmos BSD e AIX “MD5” são lentos (idealmente lentos, mas muito melhores que algoritmos não lentos).