Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Generar contraseñas pronunciables

Hola, quiero hacer un generador de contraseñas pero dado que el sistema no requiere una alta seguridad y dado que a los usuarios se les complica horriblemente recordar y escribir contraseñas del estilo de 1AsD4xftyHh43, quisiera poder generar automáticamente contraseñas algo más sencillas, por ejemplo cuadjiplas que, sin ser trivial, es pronunciable y por tanto más fácil de recordar y escribir.

Se me ocurre crear una lista de sílabas en español tales como cuad, ji y plas y seleccionar aleatoriamente un número determinado de ellas para así formar la contraseña.

Me gustaría escuchar opiniones o si saben de algo mejor.

// Gracias
Responder Con Cita
  #2  
Antiguo 30-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Hola Román

Si la palabra no tiene porqué tener sentido, se me ocurre una cosilla, a ver que te parece:

Tenemos una array con las vocales
Tenemos otro array con las consonantes (si quieres puedes quitarle las "raras" como W, k, h, x, z, ñ,....)

Aleatoriamente cogemos una consonante + una vocal hasta completar la longitud que determines (6, 8, 10,.....)

Qué te parece?
Responder Con Cita
  #3  
Antiguo 30-01-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cadetill
Qué te parece?
¡Ah! Creo que está mejor. Las contraseñas serán más sencillas (¿demasiado?) pero me evito tener que escribir la lista de sílabas.

// Saludos
Responder Con Cita
  #4  
Antiguo 15-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Roman, esta respuesta la tengo desde hace tiempo, pero no encontraba el hilo. Como bien sabéis, soy bastante principiante en esto de Delphi, a si que tengo que recurrir a "apaños" como este. He utilizado el truco de Trucomanía, generar palabras aleatorias.
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
function ConsonanteAleatoria(Longitud: integer): string;
  const
    Letras = 'bcdfgjlmnñpqrstvyz';
  var
    n  : integer;
  begin
    Result:='';
    for n:=1 to Longitud do Result:=Result+Letras[1+Random(Length(Letras))];
  end;

function VocalAleatoria(Longitud: integer): string;
  const
    Letras = 'aeiou';
  var
    n  : integer;
  begin
    Result:='';
    for n:=1 to Longitud do Result:=Result+Letras[1+Random(Length(Letras))];
  end;

begin
Edit1.Text := ConsonanteAleatoria (1) + VocalAleatoria (1) + ConsonanteAleatoria (1) + 
  VocalAleatoria (1) + ConsonanteAleatoria (1) + VocalAleatoria (1)
end;

Generará contraseñas de 6 carácteres.
__________________
:)

Última edición por andres1569 fecha: 15-05-2004 a las 18:53:51. Razón: Editado para truncar linea y que se pueda leer. Saludos
Responder Con Cita
  #5  
Antiguo 15-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
O más fácil de lllamar mediante:
Código Delphi [-]
function PassPronunciable: string;
function ConsonanteAleatoria(Longitud: integer): string;
  const
    Letras = 'bcdfgjlmnñpqrstvyz';
  var
    n  : integer;
  begin
    Result:='';
    for n:=1 to Longitud do Result:=Result+Letras[1+Random(Length(Letras))];
  end;

function VocalAleatoria(Longitud: integer): string;
  const
    Letras = 'aeiou';
  var
    n  : integer;
  begin
    Result:='';
    for n:=1 to Longitud do Result:=Result+Letras[1+Random(Length(Letras))];
  end;

  begin
    Result := ConsonanteAleatoria (1) + VocalAleatoria (1) + ConsonanteAleatoria (1) + 
VocalAleatoria (1) + ConsonanteAleatoria (1) + VocalAleatoria (1);
  end;
Así queda más bonito escribir
Código Delphi [-]
Edit1.Text := PassPronunciable;
Por cierto... hoy he hecho mi primer Procedure... este... es una tontería pero, gracias Román
__________________
:)

Última edición por andres1569 fecha: 15-05-2004 a las 18:52:30. Razón: Editado para truncar linea y que se pueda leer. Saludos
Responder Con Cita
  #6  
Antiguo 15-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Cita:
Empezado por cadetill
Aleatoriamente cogemos una consonante + una vocal hasta completar la longitud que determines (6, 8, 10,.....)
Grrr... a si que la idea ya la tuvo cadetill... Bruf, y yo estrujándome el coco... bueno, mereció la pena pues así conseguí mi primer procedure, aún lo estoy celebrando.
__________________
:)
Responder Con Cita
  #7  
Antiguo 15-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
De cualquier forma muchas gracias DarkByte. Lo que hice en realidad fue llenar a pie una tabla como de doscientas sílabas escogiendoo tres o cuatro de ellas aleatoriamente.

// Saludos
Responder Con Cita
  #8  
Antiguo 15-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
No hay de qué, aunque parece que llegé tarde...
__________________
:)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:32:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi