Foros del Web » Programando para Internet » PHP »

Generar numeros aleatorios no tan aleatorios

Estas en el tema de Generar numeros aleatorios no tan aleatorios en el foro de PHP en Foros del Web. Hola amigos, estoy programando en delphi for php y me he topado con lo siguiente, tengo que generar una clave y compararla con la que ...
  #1 (permalink)  
Antiguo 21/01/2009, 16:55
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 15 años, 6 meses
Puntos: 0
Generar numeros aleatorios no tan aleatorios

Hola amigos, estoy programando en delphi for php y me he topado con lo siguiente, tengo que generar una clave y compararla con la que se encuentra almacenada en la BD, ya casi esta listo, mi problema es que para generar la clave, se hace a traves de un random(en C++ y delphi), pero el random en estos dos programas simula ser aleatorio, mas no lo es porque es una secuencia conocida, ellos utilizan la siguiente funcion de random:

Código:
function RandomRange(const AFrom, ATo: Integer): Integer;

begin

  if AFrom > ATo then

    Result := Random(AFrom - ATo) + ATo

  else

    Result := Random(ATo - AFrom) + AFrom;

end;
el resultado de esto es siempre la misma secuencia de datos, en mi caso tengo algo asi:

Código PHP:
function Random($Inicio$Final)
    {
      if(
$Inicio $Final)
      {
        
$Diferencia $Inicio $Final;
        
$Result rand(0$Diferencia) + $Final;
        return(
$Result);
      } else{
        
$Diferencia $Final $Inicio;
        
$Result rand(0$Diferencia) + $Inicio;
        return(
$Result);
      }
    } 
pero mi secuencia no es continua, y cada vez que inicio el random, la secuencia es diferente y en los otros programas no lo es, que me recomiendan hacer? o existe alguna funcion en php que simule ser random pero que siempre que se inicie el random inice siempre con la misma secuencia:
  #2 (permalink)  
Antiguo 21/01/2009, 16:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Generar numeros aleatorios no tan aleatorios

Hola patok,

Usa srand() para pasar un valor definido a tu rand().

Saludos

Tema trasladado a PHP General.
  #3 (permalink)  
Antiguo 21/01/2009, 17:21
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Generar numeros aleatorios no tan aleatorios

o tambien puedes utilizar la siguiente funcion dependiendo de cuantos digitos quieras

Código PHP:
$numeros rand('1000''9999');
echo 
$numeros
siempre te generara numeros aleatorios, en lugar de 1000 puedes poner la cantidad de digitos que quieras ej:
entre el 10 al 99 (dos digitos)
entre el 100 al 990 (tres digitos)

y asi sucesivamente
  #4 (permalink)  
Antiguo 22/01/2009, 11:54
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 15 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Generar numeros aleatorios no tan aleatorios

Cita:
Iniciado por GatorV Ver Mensaje
Hola patok,

Usa srand() para pasar un valor definido a tu rand().

Saludos

Tema trasladado a PHP General.

Gracias GatorV, me ayudo mucho lo de inicializar con el srand, ahora cada vez que yo inicio el rand(), me sigue siempre la misma secuancia, y eso era lo que queria, muchisimas gracias.........................
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:12.