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 sha512
hashes? La misma pregunta para Bcrypt
y PBKDF2
.
security
password
encryption
hashsum
estudiante
fuente
fuente
sha1sum
?sha1pass
comando, parte del paquete syslinux-common en Debian.sha512sum
comando que forma parte de coreutils, y de manera similaropenssl sha512
, pero tampoco lo hace el material adicional quesha1pass
sí lo hace.Respuestas:
Sí, lo que está buscando
mkpasswd
, que (al menos en Debian) es parte delwhois
paquete. No preguntes por qué ...Desafortunadamente, mi versión al menos no hace bcrypt. Si su biblioteca C lo hace, debería (y la página de manual le da una opción -R para establecer la fuerza). -R también funciona en sha-512, pero no estoy seguro de si es PBKDF-2 o no.
Si necesita generar contraseñas de bcrypt, puede hacerlo de manera bastante simple con el
Crypt::Eksblowfish::Bcrypt
módulo Perl.fuente
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 delexpect
paquete y probablemente debería evitarse. Puede averiguar a qué paquete pertenece con cualquiera de estos comandos.Ejemplo
Ambos métodos son superiores al uso
rpm
ya que no es necesario instalar los paquetes para ubicarlos*/mkpasswd
.Soluciones alternativas
Para solucionar este problema, puede usar las siguientes líneas de Python o Perl para generar contraseñas SHA-512. Tenga en cuenta que estos son salados:
Python (> = 3.3)
-o guionizado-
Python (2.xo 3.x)
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) a nivel del sistema operativo (generalmente en libcrypt). No depende de la versión de Python.
Perl
En estos ejemplos, la contraseña es la cadena "contraseña" y la sal es "salesalt". Ambos ejemplos usan $ 6 $, lo que denota que desea que crypt use SHA-512.
fuente
crypt.mksalt(crypt.METHOD_SHA512)
para generar la sal en lugar de usar uno fijo.crypt.mksalt
solo está disponible en Python 3.xcrypt.mksalt
CentOS 7.1Puede usar la
doveadm
utilidad, que se incluye en eldovecot
paquete.Ejemplo de resultado:
Simplemente corte {SHA512-CRYPT} y obtendrá su cadena hash SHA512.
fuente
doveadm(jotik): Fatal: Error reading configuration: stat(/etc/dovecot/dovecot.conf) failed: Permission denied (euid=1000(jotik) egid=100(users) missing +x perm: /etc/dovecot, we're not in group 97(dovecot), dir owned by 0:97 mode=0750)
Ejecute este comando:
luego ingrese la palabra que desea hash.
fuente
Para ampliar las soluciones alternativas de @ slm anteriores, si le preocupa que alguien obtenga su historial de bash y vea la contraseña de texto sin formato, puede insertar
raw_input()
en la declaración de Python dónde van los campos de sal y contraseña para que se lo solicite. El texto no está enmascarado mientras escribe, pero no aparecerá en su historial de bash. También puede iniciar el comando con un espacio inicial, pero siempre me olvido de hacerlo.fuente
bash
para no grabar comandos con el prefijo de un espacio que se agregaHISTCONTROL=ignorespace
a su.bashrc
archivo. Cuando ejecuta un comando que desea excluir de su historial, simplemente escriba un espacio y luego el comando real.sha512 htpasswd
Comando que solicita usuario y contraseña y genera un archivo htpasswd regular:
Funciona con todas las versiones de python> 2.5.
fuente
OpenSSL tiene
La ayuda dice:
fuente
Si está utilizando el método Python (> = 2.7) de la respuesta de sim y desea confirmar su contraseña antes de que se genere, porque engorda las contraseñas de los dedos ...
fuente
Versión de openssl "OpenSSL 1.1.1” en Linux y versión de openssl "LibreSSL 2.6.5” en MacOS compatible con md5_crypt.
Simplemente ejecute e ingrese la contraseña:
o proporcione la contraseña de texto sin formato directamente a la CLI:
fuente
Puedes usar
sha512sum
:fuente