Hay dos generadores de contraseñas en ss64.com:
- El estándar
- La una fuerte
Cómo funcionan
Hice versiones independientes de ellos, más una copia del HTML / Javascript original versiones, si quieres estudiarlas, pero aquí es cómo funcionan:
Esta sección explica cómo funciona el generador de contraseñas, de modo que es posible implementar una versión independiente que no depende de confiar en un sitio web de terceros.
- Tienes una contraseña maestra, digamos
foo
- Genera una contraseña para un sitio o servicio específico, digamos
stackexchange
-
Calculas la suma SHA1 (versión estándar) o la suma SHA256 (versión segura) de la cadena
foo:stackexchange
.$ echo -n "foo:stackexchange" | sha1sum #standard version b99341502484edbc43ec35a5f94be8e5de7ca53a *- $ echo -n "foo:stackexchange" | sha256sum #strong version c6ac66fdb639821bcc322f186fb1214d241f35ba2a91cb660daf0a284ac19a47 *-
-
Usted aplica la transformación Base64 en la secuencia de bytes cuya representación hexadecimal es la suma de comprobación generada anteriormente:
$ printf "\xb9\x93\x41\x50\x24\x84\xed\xbc\x43\xec\x35\xa5\xf9\x4b\xe8\xe5\xde\x7c\xa5\x3a" | base64 uZNBUCSE7bxD7DWl+Uvo5d58pTo= $ printf "\xc6\xac\x66\xfd\xb6\x39\x82\x1b\xcc\x32\x2f\x18\x6f\xb1\x21\x4d\x24\x1f\x35\xba\x2a\x91\xcb\x66\x0d\xaf\x0a\x28\x4a\xc1\x9a\x47" | base64 xqxm/bY5ghvMMi8Yb7EhTSQfNboqkctmDa8KKErBmkc=
-
(versión segura) reemplaza + con E y / con a, y toma los primeros 20 caracteres
- (versión estándar) toma los primeros 8 caracteres y luego agrega
1a
al final de la contraseña para asegurarse de que haya al menos un dígito y una letra
Por lo tanto, con la contraseña maestra foo
, y para el sitio específico stackexchange
, la contraseña estándar generada es uZNBACSE1a
y la contraseña segura generada es xqxmabY5ghvMMi8Yb7Eh
.
Ahora las preguntas
- ¿Es la versión fuerte realmente más fuerte que la versión estándar? ¿Sería aún más fuerte si la versión estándar también usara SHA256?
- siempre que escoja una buena clave maestra (no foo, en lugar de más de 10 caracteres aleatorios), ¿estoy bastante seguro con estas contraseñas generadas?
- ¿Cuáles pueden ser otros inconvenientes de este enfoque hacia la creación de contraseñas?