• Publicidad

Cómo generar números diferentes

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cómo generar números diferentes

Notapor BigBear » 2009-08-28 11:54 @537

Hola, estoy haciendo un pequeño programa para generar contraseñas seguras y se me ocurrió hacer un programa que genere 11 números diferentes pero no tengo ni idea de cómo hacerlo.

Intento algo así: 18945612456

¿Alguien me explica cómo hacerlo?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Como generar numeros diferentes

Notapor netsoul » 2009-08-28 12:14 @551

Mmmm... ¿Contraseñas seguras con sólo números?

Está Crypt::GeneratePassword. (No sé si hay otro, pero seguro que sí)

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. use Crypt::GeneratePassword qw(word chars);
  7.  
  8. my ($minlen, $maxlen) = (1, 11);
  9.  
  10. print word($minlen,$maxlen), "\n";
  11.  
  12. print chars($minlen,$maxlen), "\n";
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
With Perl
Imagination is more important than knowledge. Albert Einstein.
netsoul
Perlero nuevo
Perlero nuevo
 
Mensajes: 150
Registrado: 2008-05-04 01:11 @091

Re: Cómo generar números diferentes

Notapor explorer » 2009-08-28 12:16 @553

Con la función rand() puedes generar números aleatorios.

Por ejemplo, con int( rand(10) ) generas un número entero aleatorio entre 0 y 9 (incluidos).

Solo te queda hacer un bucle de 11 ciclos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cómo generar números diferentes

Notapor BigBear » 2009-08-28 12:26 @559

explorer escribiste:Con la función rand() puedes generar números aleatorios.

Por ejemplo, con int( rand(10) ) generas un número entero aleatorio entre 0 y 9 (incluidos).

Solo te queda hacer un bucle de 11 ciclos.


Pero ¿cómo quedaría el bucle con el rand()?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Cómo generar números diferentes

Notapor explorer » 2009-08-28 12:38 @568

Pero Murdoc, tío... a estas alturas ya deberías saberlo :)

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $contrasena = join '', map { int rand 10 } 1 .. 11;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

que es la forma abreviada de
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $contrasena;
for (1 .. 11) {
    $contrasena .= int rand 10;
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 51 invitados

cron