security – Cómo crear hashes de contraseña SHA512 en la línea de comando

Pregunta:

En Linux puedo crear un hash de contraseña SHA1 usando sha1pass mypassword . ¿Existe una herramienta de línea de comando similar que me permita crear hashes sha512 ? La misma pregunta para Bcrypt y PBKDF2 .

Respuesta:

En cualquiera de las distribuciones de Red Hat como Fedora, CentOS o RHEL, el comando mkpasswd no incluye el mismo conjunto de conmutadores que la versión que normalmente se incluye con Debian / Ubuntu.

NOTA: El comando mkpasswd es en realidad parte del paquete expect y probablemente debería evitarse. Puede averiguar a qué paquete pertenece con cualquiera de estos comandos.

$ yum whatprovides "*/mkpasswd"
-or-
$ repoquery -q --file */mkpasswd

Ejemplo

$ repoquery -q --file */mkpasswd
expect-0:5.43.0-8.el5.x86_64
expect-0:5.43.0-8.el5.i386

Ambos métodos son superiores al uso de rpm ya que no es necesario instalar los paquetes para localizar */mkpasswd .

Soluciones alternativas

Para solucionar este problema, puede utilizar las siguientes frases sencillas de Python o Perl para generar contraseñas SHA-512. Tenga en cuenta que estos son salados:

Python (> = 3.3)

$ python -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'

-o con guión-

$ python -c 'import crypt; print(crypt.crypt("somesecret", crypt.mksalt(crypt.METHOD_SHA512)))'

Python (2.xo 3.x)

$ python -c "import crypt, getpass, pwd; \
             print(crypt.crypt('password', '\$6\$saltsalt\$'))"

$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/

Nota: $ 6 $ designa sha512. El soporte para este método de especificar el algoritmo depende del soporte en la función de biblioteca crypt (3) del nivel del sistema operativo (generalmente en libcrypt). No depende de la versión de Python.

Perl

$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/

En estos ejemplos, la contraseña es la cadena "contraseña" y la sal es "salesalt". Ambos ejemplos usan $ 6 $, lo que indica que desea que crypt use SHA-512.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım