Página 1 de 1

Obtener cadenas aleatorias

Publicado: Jue, 28 Abr 2011, 17:19
por hugo
Como podria hacer un script en bash para obtener cadenas de texto aleatorias (como de las que pueden utilizarse para una contraseña) de una longitud que yo defina como primer argumento?

Como tono jocoso, una vez vi (creo que en slashdot) una graciosa recomendación para obtener cadenas de texto aleatorias:

Abrir vim en la consola, y decirle a un usuario novato en Linux que intente cerrarlo. :D

Re: Obtener cadenas aleatorias

Publicado: Jue, 28 Abr 2011, 17:21
por KZKG^Gaara
hugo escribió:Como podria hcer un script en bash para obtener cadenas de texto aleatorias (como de las que pueden utilizarse para una contraseña) de una longitud que yo defina como primer argumento?

Como tono jocoso, una vez vi (creo que en slashdot) una graciosa recomendación para obtener cadenas de texto aleatorias:

Abrir vim en la consola, y decirle a un usuario novato en Linux que intente cerrarlo. :D
Algo como pwgen ??

http://sourceforge.net/projects/pwgen/

Re: Obtener cadenas aleatorias

Publicado: Jue, 28 Abr 2011, 22:51
por hugo
KZKG^Gaara escribió:Algo como pwgen ??
Quizás, el problema es que eso está programado en C. Mi interés era mas bien para estudiar la manera en que funciona la generación y manipulación de cadenas aleatorias en bash. Utilidades para generar contraseñas hay muchas; es mas, hace tiempo yo mismo hice una herramientica de este tipo en Delphi para poner en práctica un tutorial de máscaras que vi por alguna parte.

En fin, ya hice unas búsquedas y encontré más de una solución. Gracias de todas formas.

Re: Obtener cadenas aleatorias

Publicado: Vie, 29 Abr 2011, 08:13
por yosle

Código: Seleccionar todo


#!/bin/bash


MAXSIZE=62


array1=(


q w e r t y u i o p a s d f g h j k l z x c v b n m Q W E R T Y U I O P A S D


F G H J K L Z X C V B N M 1 2 3 4 5 6 7 8 9 0 \! \@ \# \$ \% \^ \& \* \( \)


\! \@ \# \$ \% \^ \& \* \( \) \! \@ \# \$ \% \^ \& \* \( \) \! \@ \# \$ \%


)


MODNUM=${#array1[*]}


pwd_len=0


while [ $pwd_len -lt $MAXSIZE ]


do


    index=$(($RANDOM%$MODNUM))


    echo -n "${array1[$index]}"


    ((pwd_len++))


done


echo


exit 0

Esto genera cadenas semi-aleatorias ,pero sirve como ejercicio de programacion , para generar claves ,mejor me gusta esta otra:

Código: Seleccionar todo

uuidgen | cut -c-50

Re: Obtener cadenas aleatorias

Publicado: Vie, 29 Abr 2011, 10:54
por williansvi
pwgen

I'ts so easy...

Re: Obtener cadenas aleatorias

Publicado: Vie, 29 Abr 2011, 11:12
por hugo
Gracias yosle, algo como eso era a lo que me refería.