[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: generador de passwords



On Mon, 11 Sep 2000, Hue-Bond wrote:

> El mi=E9rcoles 06 de septiembre de 2000 a la(s) 16:12:57 +0200, TooMany con=
> taba:
> >
> >=BFExiste alg=FAn paquete que trabaje en conjunci=F3n con el "adduser", y =
> que
> >genere autom=E1ticamente una password para el usuario que se cree?
> >L=F3gicamente, al crearla deber=E1 mostrarla (un poco est=FApido el coment=
> ario,
> >pero por si las fly's)... ;)
> 
>          No trabaja con adduser, pero  como generador de claves creo que
>      no tiene ning=FAn desperdicio:
> 
> $ head -10c /dev/random | md5sum | head -8c
> 
>          Poblema: no genera letras may=FAsculas ni caracteres especiales.

Y las minúsculas solo son 'abcdef'

Un sencillisimo programita C sería mas eficiente no ?

La verdad con la de estupendos programas para generar claves que 
tiene que haber me siento un poco ridículo haciendo esto pero como
parece que se insiste en el tema voy a aportar mi granito de arena.

Está pensado para que se pueda modificar facilmente el conjunto de
caracteres y la longitud de la clave. Espero que sea de utilidad.

===============8<---------------------------------------

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define LONGPASWD  8
#define CHARS  "01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZñÑçÇ@#$%&/()<>[]=?¿¡!+*.,:;-_"
int i, r, rr, fi, longitudchars;
char *pt;


main(){
	// srand (time(NULL) ); /** Ojo ** semillas iguales dentro del **/
	                        /** mismo segundo **/

	/** Generación de una semilla más segura **/
	fi=open("/dev/random", O_RDONLY);
	read(fi, &rr, sizeof(rr));
	close(fi);
	srand ( rr );
	longitudchars=strlen ( CHARS );
	for (i= 0; i< LONGPASWD; i++){
		r=(int) ((float)longitudchars *rand()/(RAND_MAX+1.0));
		putchar(CHARS[r]);
	}
}
===============8<---------------------------------------

Bueno si la inicialización de la semilla se hiciera con time(). 
Las claves resultaríar identicas cuando se generaran dentro del 
mismo segundo.


>  Just do it.
> 
> David Serrano <cyberchat2000.com@hue>             Linux Registered User #87=
> 069
> Hi! I'm a .signature virus!  Copy me into your ~/.signature to help me spre=
> ad!


Un saludo

Antonio Castro

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /\     /\      Ciberdroide Informática (Tienda de Linux)
          \\W//            <<< http://www.ciberdroide.com >>>
	 _|0 0|_                                                    
+-oOOO--(___o___)--OOOo----------------------------------------------------+ 
|  . . . . U U . . . . Antonio Castro Snurmacher  acastro@ciberdroide.com  |  
|  . . . . . . . . . .                                                     | 
+()()()----------()()()----------------------------------------------------+
| Más de 1.000 sitios clasificados por temas sobre Linux en *Donde_Linux*  |
| <<< http://www.ciberdroide.com/misc/donde/dondelinux.html >>>            |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+




Reply to: