Generador de contraseñas deterministas

Estoy buscando generadores de contraseñas deterministas que estén disponibles para Linux. Mi objetivo es tener una contraseña para recordar y usarla para crear contraseñas para todos mis inicios de sesión.

"Determinista" prácticamente anula el propósito del "generador de contraseñas", ya que deberían ser lo más impredecibles posible. ¿Cuál es su intención para tal programa?
@Alejandro lo estaría usando para mis contraseñas en sitios web.
Pero, ¿por qué tienen que ser "deterministas"? Esa es una característica muy mala para una contraseña. Lo ideal es que sean lo más aleatorios posible. ¿Por qué el determinismo es una característica deseable?
Algo que también se ajusta a su caso de uso pero que no es una respuesta a su pregunta es usar un administrador de contraseñas, como KeePass. Tiene la ventaja de tener que recordar solo una contraseña, sin que el aspecto negativo de sus contraseñas se derive de manera determinista de su contraseña maestra. Tus contraseñas individuales pueden ser aleatorias y solo tienes que recordar la contraseña maestra para acceder a tu administrador de contraseñas.

Respuestas (3)

Prueba la pwgenutilidad . Según las opciones que se utilicen, pwgenpueden ser ambas:

  1. Determinista , mediante el uso de un hash predefinido o el hash de un archivo dado; aquí el archivo es una bash sustitución de proceso con printfla que debería generar el mismo resultado en todas partes:

    pwgen -N 1 -H <(printf foobar) 14
    

    ... saldría cada vez:

    niecie1faaXooZ
    
  2. Aleatorio , por ejemplo :

    pwgen -N 1 -s 14
    

    ... generaría una contraseña aleatoria diferente cada vez.

Ritchey Password Pre-salter es gratuito, de código abierto y está disponible para Linux. Puede encontrar un paquete de Debian aquí , y una versión portátil aquí .

php /opt/ritchey-password-presalter/cli.php --output TRUE ---contraseña "tucontraseña" ---salt "stackexchange" ---longitud máxima "12"

Este comando creará una contraseña de 12 caracteres. En este ejemplo, la contraseña creada es ceeb4ea2!1Aa. Si el valor de salt se cambia al nombre de cada sitio web para el que crea una contraseña, solo necesitará recordar el valor de la contraseña para volver a crearlos.

php /opt/ritchey-password-presalter/cli.php --output TRUE ---contraseña "tucontraseña" ---salt "stackexchange" ---longitud máxima "12"

php /opt/ritchey-password-presalter/cli.php --output TRUE ---password "tucontraseña" ---salt "youtube" ---maxlength "12"

php /opt/ritchey-password-presalter/cli.php --output TRUE ---password "tucontraseña" ---salt "wikipedia" ---maxlength "12"

En este ejemplo, cada uno de estos comandos usa el mismo valor para la contraseña , y el nombre del sitio web al que corresponden se usa para salt . Esto da como resultado 3 contraseñas únicas (ceeb4ea2!1Aa, a94040b8!1Aa, e31dc83b!1Aa) pero solo tiene que recordar el valor de contraseña .

Si prefiere que se le soliciten opciones, también hay un comando interactivo.

php /opt/ritchey-password-presalter/icli.php

¿Realmente hay que especificar la contraseña maestra en la línea de comandos? Eso definitivamente lo descalificaría, ya que de esa manera va al historial de shell (y también se ve brevemente en la lista de procesos) y, por lo tanto, sería un objetivo para los piratas informáticos.

Simplemente puede crear un hash de su contraseña única concatenada con el caso de uso, por ejemplo, sha256 de "passwordfacebook" o sha256 de "passwordstackexchange" y usar ese hash como contraseña.