Puede usar los siguientes comandos para lo mismo:
Método 1 (md5, sha256, sha512)
openssl passwd -6 -salt xyz yourpass
Nota:pasando -1
generará una contraseña MD5, -5
un SHA256 y -6
SHA512 (recomendado)
Método 2 (md5, sha256, sha512)
mkpasswd --method=SHA-512 --stdin
La opción --method
acepta md5
, sha-256
y sha-512
Método 3 (des, md5, sha256, sha512)
Como sugirió @tink, podemos actualizar la contraseña usando chpasswd
usando:
echo "username:password" | chpasswd
O puede usar la contraseña encriptada con chpasswd
. Primero generarlo usando esto:
perl -e 'print crypt("YourPasswd", "salt", "sha512"),"\n"'
Luego, más tarde, puede usar la contraseña generada para actualizar /etc/shadow
:
echo "username:encryptedPassWd" | chpasswd -e
La contraseña encriptada también la podemos usar para crear un nuevo usuario con esta contraseña, por ejemplo:
useradd -p 'encryptedPassWd' username
En Ubuntu 12.04, hay mkpasswd (del paquete whois):front-end destacado para crypt(3)
mkpasswd -m sha-512 -S saltsalt -s <<< YourPass
donde:
-m
=Calcule la contraseña utilizando el método TYPE. Si TIPO es ayuda, se imprimen los métodos disponibles.-S
=sal utilizada.
Por ejemplo
$ mkpasswd -m help
-s = Read password from stdin
Esta solución tiene los siguientes beneficios:
- Nada adicional para instalar
- No almacena la contraseña en su historial de shell
- Genera una sal aleatoria para ti
- Utiliza un algoritmo hash fuerte y moderno, SHA-512
-
Vuelve a solicitar la contraseña para evitar errores.
$ python3 -c "from getpass import getpass; from crypt import *; \ p=getpass(); print('\n'+crypt(p, METHOD_SHA512)) \ if p==getpass('Please repeat: ') else print('\nFailed repeating.')"
Referencias
- ¿Cómo crear una contraseña hash SHA-512 para /etc/shadow?
- SHA512 con sal