random - programa - resultado al azar
¿Cómo se generan contraseñas? (30)
¿Cómo se generan contraseñas?
- Caracteres Aleatorios?
- ¿Passphrases?
- High Ascii?
¿Algo como esto?
cat /dev/urandom | strings
Bueno, mi técnica es usar las primeras letras de las palabras de mis canciones favoritas. Necesito un ejemplo: todas las noches en mis sueños, te veo, te siento ...
Dame:
enimdisyify
... y un poco de números insistentes, por ejemplo, i = 1, o = 0, etc ...
en1md1sy1fy
... capitalización? Siempre dale importancia a ti mismo :)
Y la contraseña final es ...
en1Md1sy1fy
Comienzo con las iniciales de una oración en un idioma extranjero, con alguna convención para capitalizar algunas de ellas. Luego, inserto en una parte particular de la oración una combinación de números y símbolos derivados del nombre de la aplicación o sitio web.
Este esquema genera una contraseña única para cada aplicación que puedo derivar cada vez en mi cabeza sin problemas (así que no hay memorización), y no hay posibilidad de que ninguna parte de ella aparezca en un diccionario.
Creo que depende en gran medida de para qué quieres usar la contraseña y qué tan confidenciales son los datos. Si necesitamos generar una contraseña segura para un cliente, normalmente usamos una oración fácil de recordar y usamos las primeras letras de cada palabra y agregamos un número. Algo así como ''contraseña secreta superior para uso en '' => ''tspfuos8''.
La mayoría de las veces, sin embargo, utilizo la utilidad ''pwgen'' en Linux para crear una contraseña, puede especificar la complejidad y la longitud, por lo que es bastante flexible.
Deberá codificar reglas adicionales para verificar que su contraseña sea aceptable para el sistema para el que la está escribiendo. Algunos sistemas tienen políticas como "dos dígitos y dos letras mayúsculas como mínimo", y así sucesivamente. A medida que genera su contraseña carácter por carácter, mantenga un recuento de los dígitos / alfa / mayúscula según sea necesario y ajuste la generación de contraseñas en un hacer ... mientras que repetirá la generación de contraseñas hasta (digitCount> 1 && alphaCount> 4 && upperCount > 1), o lo que sea.
Después de haber leído y probado algunas de las excelentes respuestas aquí, todavía estaba en busca de una técnica de generación que fuera fácil de modificar y utilizara utilidades y recursos de Linux muy comunes.
Realmente me gustó la gpg --gen-random
pero me sentí un poco torpe?
Encontré esta joya después de una búsqueda más profunda
echo $(</dev/urandom tr -dc A-Za-z0-9 | head -c8)
El algoritmo en apg es genial. Pero utilizo principalmente caracteres aleatorios de una lista que he definido a mí mismo. Se trata principalmente de números, letras mayúsculas y minúsculas y algunos signos de puntuación. Eliminé los caracteres que son propensos a confundirse con otro personaje como ''1'', ''l'', ''I'', ''O'', ''0'', etc.
Elija una contraseña maestra sólida como prefiera, luego genere una contraseña para cada sitio con cryptohash (palabra clave + nombre del sitio). No perderá su contraseña para el sitio A si su contraseña para el sitio B cae en las manos equivocadas (debido a un mal administrador, olfateo wlan o compromiso del sitio, por ejemplo), sin embargo, solo tendrá que recordar una sola contraseña.
En PHP, generando una cadena aleatoria de caracteres de la tabla ASCII. Ver Generar (pseudo) cadenas alfanuméricas aleatorias
En algunas circunstancias, utilizo el módulo Perl''s Crypt :: PassGen, que utiliza el análisis de cadena de Markov en un corpus de palabras (por ejemplo, / usr / share / dict / words en cualquier sistema razonablemente Unix). Esto le permite generar contraseñas que resultan razonablemente pronunciables y así recordar.
Dicho esto, en $ work nos estamos moviendo a mecanismos de token de desafío / respuesta de hardware.
En una Mac utilizo RPG .
Firefox-addon Password Hasher es bastante impresionante para generar contraseñas: Password Hasher
El sitio web también presenta un sustituto en línea para el complemento: Contraseña en línea Hasher
Genero caracteres ASCII imprimibles aleatorios con un programa Perl y luego modifico el guión si hay reglas adicionales para ayudarme a generar una contraseña más "segura". Puedo mantener la contraseña en una nota post-it y luego destruirla después de uno o dos días; mis dedos lo habrán memorizado, y mi contraseña será completamente indescifrable.
Esto es para mi contraseña de inicio de sesión principal, algo que uso todos los días y, de hecho, muchas veces al día mientras me siento y abro la pantalla. Esto hace que sea fácil de memorizar rápido. Obviamente, las contraseñas para otras situaciones tienen que usar un mecanismo diferente.
La aplicación Mac OS X "Keychain Access" le da acceso al buen generador de contraseñas de OS X. Pulse comando-N y haga clic en el icono de la tecla. Puede elegir el estilo de contraseña (memorable, numérico, alfanumérico, aleatorio, FIPS-181) y elegir la longitud. También te advierte sobre contraseñas débiles.
La herramienta de código abierto Keepass tiene algunas capacidades excelentes para la generación de contraseñas, incluida la aleatorización mejorada.
La utilidad estándar de UNIX llamada pwgen. Disponible en prácticamente cualquier distribución Unix.
No me gustan las contraseñas de caracteres aleatorios. Son difíciles de recordar
En general, mis contraseñas caen en niveles en función de la importancia de esa información para mí.
Mis contraseñas más seguras tienden a usar una combinación de viejas contraseñas generadas aleatoriamente de BBS que era demasiado joven y tonto como para saber cómo cambiar y memorizar. Agregar algunos de ellos junto con el uso liberal de la tecla shift funciona bien. Si no los utilizo, creo que las frases de paso son mejores. Tal vez una frase de algún libro que disfruto, una vez más con algunos mayúsculas y símbolos especiales lo dice. A menudo usaré más de 1 frase, o varias palabras de una frase, concatenadas con varias de otra.
En sitios de baja prioridad, mis contraseñas son bastante cortas, generalmente una combinación de algunos tokens familiares.
El lugar donde tengo el mayor problema es el trabajo, donde tenemos que cambiar nuestra contraseña cada 30 días y no podemos repetir las contraseñas. Simplemente me gustan los demás, propongo una contraseña y añado un índice cada vez mayor hasta el final. Las reglas de contraseña como esa son absurdas.
Para los sitios web utilizo SuperGenPass , que deriva una contraseña específica del sitio de una contraseña maestra y el nombre de dominio, usando una función hash (basada en MD5). No es necesario almacenar esa contraseña en ningún lugar (SuperGenPass mismo es un bookmarklet, totalmente del lado del cliente), solo recuerde su contraseña maestra.
Password Monkey, ¡widget de iGoogle!
Sobre todo, escribo dd if=/dev/urandom bs=6 count=1 | mimencode
dd if=/dev/urandom bs=6 count=1 | mimencode
y guarde el resultado en una contraseña segura.
Una ligera variación en su sugerencia:
head -c 32 /dev/random | base64
Opcionalmente, puede recortar el trailing =
y usar echo
para obtener una nueva línea:
echo $(head -c 32 /dev/random | base64 | head -c 32)
lo que le da una contraseña de longitud de salida más predecible al tiempo que garantiza solo caracteres imprimibles.
Una secuencia de comandos corta python para generar contraseñas, originalmente del libro de cocina python.
#!/usr/bin/env python
from random import choice
import getopt
import string
import sys
def GenPasswd():
chars = string.letters + string.digits
for i in range(8):
newpasswd = newpasswd + choice(chars)
return newpasswd
def GenPasswd2(length=8, chars=string.letters + string.digits):
return ''''.join([choice(chars) for i in range(length)])
class Options(object):
pass
def main(argv):
(optionList,args) = getopt.getopt(argv[1:],"r:l:",["repeat=","length="])
options = Options()
options.repeat = 1
options.length = 8
for (key,value) in optionList:
if key == "-r" or key == "--repeat":
options.repeat = int(value)
elif key == "-l" or key == "--length":
options.length = int(value)
for i in xrange(options.repeat):
print GenPasswd2(options.length)
if __name__ == "__main__":
sys.exit(main(sys.argv))
Usa esto y golpea :)
cat /dev/urandom | tr -dc ''a-zA-Z0-9-!@#$%^&*()_+~'' | fold -w 10 | head -n 1
Cambie el recuento de cabezales para generar el número de contraseñas.
Uso Keepass para generar contraseñas complejas.
Uso https://www.grc.com/passwords.htm para generar cadenas de contraseña largas para cosas como claves WPA. También puede usar esto (a través de screenscraping) para crear sales para el hash de contraseñas de autenticación si tiene que implementar algún tipo de sitio de registro.
Uso la contraseña segura para generar y almacenar todas mis contraseñas, de esa manera no tienes que recordar las contraseñas súper fuertes (bueno, excepto la que desbloquea tu caja fuerte).
Utilicé un método inusual para generar contraseñas recientemente. No necesitaban ser súper fuertes, y las contraseñas aleatorias son demasiado difíciles de recordar. Mi aplicación tenía una gran tabla de ciudades en América del Norte. Para generar una contraseña, generé un número aleatorio, agarré una ciudad randon y agregué otro número aleatorio.
boston9934
Las longitudes de los números eran aleatorias (como si estuvieran unidas, anexadas o ambas cosas), por lo que no era demasiado fácil usar la fuerza bruta.
contraseñas
$ gpg --gen-random 1 20 | gpg --enarmor | sed -n 5p
frases de contraseña:
Joel Spolsky escribió un breve artículo: la administración de contraseñas finalmente es posible
... finalmente hay una buena forma de administrar todas sus contraseñas. Este sistema funciona sin importar cuántas computadoras uses regularmente; funciona con Mac, Windows y Linux; es seguro; no expone sus contraseñas a ningún sitio de internet (ya sea que usted confíe o no); genera contraseñas seguras y altamente seguras para todos y cada uno de los sitios, es bastante fácil de usar una vez que lo tiene todo listo, mantiene una copia de seguridad automática de su archivo de contraseñas en línea, y es gratis.
Él recomienda usar DropBox y PasswordSafe o Password Gorilla .
import random
length = 12
charset = "abcdefghijklmnopqrstuvwxyz0123456789"
password = ""
for i in range(0, length):
token += random.choice(charset)
print password