hola,despues de leer y probar varias occiones estoy atascado,quisiera crear un diccionario para contraseñas de 8 dijitos con caracteres letras minusculas y numericos,asta hay todo bien facil,pero quisiera insertar el patron de solo un dijito numerico aleatorio por contraseña ejemplos : scvn7pqw 9nvcsrts pqn4gseq
podeis ayudarme con esto,es posible incluir este parametro con algun generador de diccionarios ?
un saludo a todos.
Usando un pequeño script que cumpla el agregar un solo digito al texto, sumando a nuestro lado crunch, será posible lo que desea en un abrir y cerrar de ojos.
add_digit.py
#!/usr/bin/env python3
import random
import sys
while (True):
text = sys.stdin.readline()
if not (text):
break
index = random.randint(0, len(text))
rnumber = random.randint(0, 9) # Mencionaste sólo un digito
array = ' '.join(text).split()
array.insert(index, str(rnumber))
print(''.join(array))
Este pequeño script escrito en Python "lee" cada línea de un texto y le agrega un solo digito aleatorio comprendido entre 0 y 9, aunque es posible, si el deseo es evocado, cambiar el rango.
Ahora para concluir este mini-tutorial vamos a usar una herramienta llamada crunch que se encarga de generar diccionarios alfanuméricos.
crunch 1 4 abcd | python add_digit.py
~ DtxdF
le agradezco su rapida respuesta DtxdF,aunque mi nivel es muy bajo aun intentare poner en practica su sugerencia,si no entendi mal necesito crear un archivo con claves de 7 dijitos letras minusculas,para a este añadir a posteriori el numero aleatorio mediante el script que adjunta,por intentar que no quede,saludos.
Como le dije, es posible. La sintaxis básica de
crunch es bastante intuitiva, aunque mayormente no cambia de usuario a usuario. Se podría expresar como lo siguiente:
crunch <min> <max> [options]
<min> es para indicar la longitud mínima de la cadena a generar;
<max> es para indiciar la longitud máxima de la cadena a generar;
[options] es para indiciar opciones que no son requeridas, pero como ya viene observando mi anterior comentario, puede deducir que lo que se usa es una cadena (aunque podría ser otra cosa) por lo que el siguiente ejemplo puede esclarecer mejor su cuestión.
crunch 1 4 hola
Pero como al principio de su comentario indicó que debe generar un diccionario alfanúmerico, entonces con la simple adición de números donde está el
hola del anterior ejemplo, generaría la conclusión que desea. Además hay que tener presente que el
hola podría ser cualquier cosa; desde un abecedario, hasta las mismas vocales junto con números en desorden, pero sumando a esas facilidades que provee la herramienta será a su vez la longitud y el número de líneas del archivo o la salida, o en caso contrario que se incluya entre las opciones el parámetro
-c LINES indicando limitación en el número de líneas del resultado. Como por ejemplo:
crunch 1 4 hola123 -c 10
Ya ejecutado los simplones ejemplos puede a su vez ejecutar el
script que le escribí usando tuberías (https://underc0de.org/foro/gnulinux/t41343/) para que el programa le adhiera un número al resultado de cada palabra.
crunch 1 7 abc | python add_digit.py
Veáse también:
- Manual de Crunch (http://manpages.ubuntu.com/manpages/bionic/man1/crunch.1.html)
~ DtxdF
El crunch le permite hacerlo (intercambiar de manera aleatoria un número dentro de caracteres de letras, en su caso minúsculas).
Tiene que buscar la línea de comandos, en un tutorial muy bueno que hay aquí en el Foro, según el resultado que desee. Buscar: "Aprende a usar CRUNCH paso a paso (https://underc0de.org/foro/hacking/aprende-a-usar-crunch-paso-a-paso/)".
Otra herramienta de fácil uso sería el StrinGenerator.
(https://i.postimg.cc/wjXDGVkR/instant-nea1.png) (https://postimages.org/)
(https://i.postimg.cc/0N97RwtW/instant-nea2.png) (https://postimages.org/)
(https://i.postimg.cc/V66M5cPX/instant-nea3.png) (https://postimages.org/)
Valga destacar que si el número aleatorio a intercalar es del 0 al 9 de manera continuada entre todo el alfabeto en minúscula, sería un diccionario pesado, "muuuuy" difícil de correr.
Aun limpiándolo de caracteres repetidos, como se ve en la imagen con la "a", etc., o acortando el uso de números, a uno solo.
(https://i.postimg.cc/KzHTMsmw/instant-nea5.png) (https://postimages.org/)
Si fuera Ud. lo haría segmentado según el número escogido, resultando en una secuela de diccionarios más pequeños, y por ende más manejables (al menos como lotería).