Foros del Web » Programando para Internet » PHP »

¿Extraño generador de passwords no?

Estas en el tema de ¿Extraño generador de passwords no? en el foro de PHP en Foros del Web. Hola buenas, Bueno,pues mire la faq's y me encontre con este script generador de passwords que posteo Cluster: http://www.forosdelweb.com/showpost....3&postcount=67 . Mi pregunta en si es,como ...
  #1 (permalink)  
Antiguo 28/10/2006, 06:51
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
¿Extraño generador de passwords no?

Hola buenas,

Bueno,pues mire la faq's y me encontre con este script generador de passwords que posteo Cluster: http://www.forosdelweb.com/showpost....3&postcount=67 .

Mi pregunta en si es,como **** funciona?? Se utiliza rand,pero rand que yo sepa es para elegir un elemento de un array aleatoriamente pero no hay ningun array,por tanto,que valor recoge?

Si no Cluster,alguien me lo explica?

Un Saludo y gracias de antemano!!

P.D: Lo quiero utilizar,pero si no lo entiendo no me gusta utilizarlo.
  #2 (permalink)  
Antiguo 28/10/2006, 08:51
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
creo que esto te puede dar una idea

int rand ( [int min [, int max]])

Si es llamada sin los argumentos opcionales min y max, rand() devuelve un valor pseudo-aleatorio entre 0 y RAND_MAX. Si quiere un número aleatorio entre 5 y 15 (inclusive), por ejemplo, use rand(5,15).

lo que no se cual es el valor maximo que maneja, pero eso lo puedes investigar aparte, por lo menos ya sabes que si devuelve un valor.
saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 28/10/2006, 17:07
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Ajá,eso no lo sabia..gracias por contestar..

Pero tu respuesta solventa tan solo una duda,si alguien es tan amable de explicarme con mas exactitud..

Un Saludo y gracias de nuevo!!
  #4 (permalink)  
Antiguo 30/10/2006, 08:46
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Se me fue el hilo al olvido..lo subo.

Un Saludo!
  #5 (permalink)  
Antiguo 30/10/2006, 09:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por limboings Ver Mensaje
Buenas,

Se me fue el hilo al olvido..lo subo.

Un Saludo!
Lo primero es aclarar que ese código que se publicó en las FAQ's no es de mi autoría (ya lo menciono en dicha FAQ). Lamentablemente no tengo al autor como para colocar sus créditos y si alguna vez sale .. bienvendio sea.

De todas formas .. el usuario Jpinedo le hizo la modificación final que ahí ves ahora. (con el uso de rand())

El código que se presenta lo que hace en líneas generales es:

1) Se eligen 3 numeros aleatorios.
2) Se codifican en MD5 (que nos dá una longitud fija de 32 caracteres por n°, con md5() función)
3) Con expresiones regulares se filtran n° o letras según necesitemos generar un password numérico o no .. (ereg_replace())
4) Se concatenan los 3 n° generados codificados como Md5() (los ".") y ya filtrados por sólo n° o alfanumérico.
5) Se toma sólo desde la posición inicia 0 hasta el n° de longitud que necesistamos para nuestra "contraseña" (con el str_replace() ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 30/10/2006 a las 09:21
  #6 (permalink)  
Antiguo 30/10/2006, 09:16
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
1- rand no funciona sobre un array, para eso esta array_rand().
2- rand, sin valores, da un resultado entre 0 y 32768 (si mal no recuerdo es lo que tiene RAND_MAX seteado por default).
3- La función lo que hace es, setear en una regex que tipo de valor dará out, y según un md5 a rand (un string aleatorio de 32 caracteres * 3 veces), extrae desde la posición cero $longitud de caracteres del tipo pasado en la regex.
4- Espero que se comprenda...cualquier cosa pregunta que reponderé, o alguién lo hará.

Salute!
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #7 (permalink)  
Antiguo 30/10/2006, 10:22
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Ahora si la comprendo,lo unico Cluster que la funcion str_replace() no la veo por ninguna parte,te refieres a substr()?

Bueno y entonces que diferencia hay entre rand() y array_rand()?

Un Saludo y gracias a los dos!
  #8 (permalink)  
Antiguo 30/10/2006, 12:01
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Si, se refiere a substr. Y nada mejor que www.php.net para sacarte dudas sobre las funciones nativas de php. Si después hay algo que de ellas que no comprendas lo comentas.

www.php.net/rand
Genera un random entero aleatorio.

www.php.net/array_rand
Genera un valor aleatorio entre las posiciones existentes de un array
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #9 (permalink)  
Antiguo 30/10/2006, 14:53
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Ajá,muchas gracias nicolaspar..

Un Saludo!!
  #10 (permalink)  
Antiguo 30/10/2006, 15:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por limboings Ver Mensaje
Buenas,

Ahora si la comprendo,lo unico Cluster que la funcion str_replace() no la veo por ninguna parte,te refieres a substr()?

Bueno y entonces que diferencia hay entre rand() y array_rand()?

Un Saludo y gracias a los dos!
Se me pasó (o no sé en que estaría pensando) .. efectivamente es substr() la función (pero la explicación es la correcta).

Por cierto .. esa función no es un "Extraño generador de passwords" .. sólo es un "algoritmo más" como podrías tu mismo "inventarte el tuyo" .. El próposito en este caso es que el código que generes (algoritmo mejor dicho) sea lo más aleatório posible. Luego ya dependerá de que tipo de "passwords" o "códigos" quieras implementar así se te complicará más el algorítmo o no .. En este caso .. como veras con unas "pocas" líneas de código realmente tenemos una función para generar "códigos" (o passwords o con el fin que le des) bastante práctica.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 30/10/2006, 16:11
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Hola buenas,

Quizas suena raro,pero que es un algoritmo?

Un Saludo!!
  #12 (permalink)  
Antiguo 30/10/2006, 16:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por limboings Ver Mensaje
Hola buenas,

Quizas suena raro,pero que es un algoritmo?

Un Saludo!!
No me suena raro ni me extraña que alguien que programa PHP no sepa que significa ese término. (no hablo por tí .. hablo en general .. no eres el primero ni el último en este caso). Yo siempre digo que soy "autodidacta" .. que no ando "reinventando la rueda" .. tampoco sé de muchos temas que te puedan enseñar en una carrera "universitaria" por ejemplo (por qué no soy "ingeniero" de nada) .. pero si "programas" .. hay que manejar ciertos conceptos, por qué realmente los usas o los debes usar, pero ahora no sabes su "nombre" tal vez y como no has visto sobre el tema no ves otros temas relacionados o como mejorar tal vez tus procesos actuales.

Com PHP es un lenguaje bastante fácil de que en pocas horas delante de el ya empieces hacer algo que "funcione" (cómo .. sería otro tema) .. para el "programador" que toma PHP de lleno sin algo de "base" en general de programación .. nunca la llega a tomar y ahí llegan todooooooos los problemas derivados de esa falta de "base".

Te comento que eso es un principio básico de "programación" (y no aplicable sólo a la programación) un término más como muchos otros que hay: bucle, acomulador, variable, cadena (string), constante .. etc.

Lo mejor en estos casos es usar la "wikipedia":
http://es.wikipedia.org/wiki/Algoritmo

Así sales de dudas rápido si lees un término que no entiendes.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 31/10/2006, 04:33
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Bueno,como bien dices no soy ingeniero (deje los estudios y ahora quiero retomarlos),yo creo que los terminos de programacion los tengo claros..lo que algoritmo no es un termino especifico de la programacion,yo diria.

Bueno,un saludo!!y gracias Cluster por la info!
  #14 (permalink)  
Antiguo 31/10/2006, 04:42
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas de nuevo,

Haver si lo he entendido bien,un algoritmo es un conjunto de operaciones que se realiza siempre en un mismo orden,de una misma manera,llegando siempre a un mismo final y con un resultado igual,esta bien?

Otra cosa,esto:
Cita:
si se sigue el mismo proceso más de una vez llegaremos al mismo resultado.
No es del todo cierto,no? ya que el genrador ese de passwords,genera diferentes resultados..eso no lo entiendo.

Bueno,graacias de nuevo y un saludo!!
  #15 (permalink)  
Antiguo 31/10/2006, 05:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por limboings Ver Mensaje
Buenas de nuevo,

Haver si lo he entendido bien,un algoritmo es un conjunto de operaciones que se realiza siempre en un mismo orden,de una misma manera,llegando siempre a un mismo final y con un resultado igual,esta bien?

Otra cosa,esto:

No es del todo cierto,no? ya que el genrador ese de passwords,genera diferentes resultados..eso no lo entiendo.

Bueno,graacias de nuevo y un saludo!!
Creo que todo esto sería cosa de tratarlo en los foros de "Programación" en general.

Si mi término "algoritmo" a este caso no está bien empleado .. acepto todo tipo de correcciones.

Por mi parte a lo que me refiereo es que aplicado la misma "técnica"/"proceso" .. se obtiene el resultado esperado . .en este caso es un resultado "aleatorio" .. Si eso no se llama "algoritmo" .. Ok (ya me diran el nombre) .. Pero el caso es que hay un "procedimiento" que se realiza de la misma forma y este genera un resultado en base a unos parámetros dados (que son variables también).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 31/10/2006, 05:47
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Si,si todo me encaja menos eso ultimo,lo del resultado,la verdad es que el resultado contiene una caracteristica general como es el tamaño del string,por tanto,yo creo que si se le puede llamar algoritmo,segun lo he entendido,solo te preguntaba(no estaba criticando ni mucho menos).

Un Saludo!!
  #17 (permalink)  
Antiguo 31/10/2006, 07:24
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Cita:
Iniciado por Cluster Ver Mensaje
Si mi término "algoritmo" a este caso no está bien empleado .. acepto todo tipo de correcciones.
Es uno si sr!, al menos eso me hicieron creer en la facultad

Cita:
lo que algoritmo no es un termino especifico de la programacion,yo diria.
Creo que tenés que releerte los "terminos de programación" que "tenés claros", seguramente te lo pasaste por alto a este que es tan importante
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #18 (permalink)  
Antiguo 31/10/2006, 13:31
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Pues seguro que tengo que releer,pero no entendi lo que le dije a cluster,por que es un algoritmo si no se obtiene un resultado igual como dice la wikipedia..?

Un Saludo y gracias!!
__________________
La chapucería de la esquina
  #19 (permalink)  
Antiguo 31/10/2006, 13:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por limboings Ver Mensaje
Buenas,

Pues seguro que tengo que releer,pero no entendi lo que le dije a cluster,por que es un algoritmo si no se obtiene un resultado igual como dice la wikipedia..?

Un Saludo y gracias!!
Revisa otras fuentes si tienes dudas. Consulta el tema en el foro de "Programación" a ver que te comentan.

Yo de teoría no estoy muy puesto (por los motivos que ya comenté) ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #20 (permalink)  
Antiguo 31/10/2006, 13:51
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
limboings, hasta donde recuerdo esto es lo mas próximo:
Un conjunto de reglas que permiten obtener un resultado determinado apartir de ciertas reglas definidas. Otra definición sería, algoritmo es una secuencia finita de instrucciones, cada una de las cuales tiene un significado preciso y puede ejecutarse con una cantidad finita de esfuerzo en un tiempo finito. Ha de tener las siguientes características: legible, correcto, modular, eficiente, estructurado, no ambiguo y a ser posible se ha de desarrollar en el menor tiempo posible.

Esto según Al-Khwarizmi
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #21 (permalink)  
Antiguo 31/10/2006, 17:45
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Ajá,ahora si me quedo claro,es que con lo que ponia en la wikipedia no me encajaban las cosas...

Bueno,un saludo y gracias por ser tan pacientes!!
__________________
La chapucería de la esquina
  #22 (permalink)  
Antiguo 31/10/2006, 18:10
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 10 meses
Puntos: 5
Buenas,

Cita:
Iniciado por limboings Ver Mensaje
Buenas de nuevo,

Haver si lo he entendido bien,un algoritmo es un conjunto de operaciones que se realiza siempre en un mismo orden,de una misma manera,llegando siempre a un mismo final y con un resultado igual,esta bien?

Otra cosa,esto:

No es del todo cierto,no? ya que el genrador ese de passwords,genera diferentes resultados..eso no lo entiendo.
Si tenés una función que suma 1 a un entero que le pases como argumento, el valor que devuelve esa función (o algoritmo) no va a ser siempre el mismo, tampoco.

Ej:
Código PHP:
function sumarUno(valor) {
      return 
valor 1;

Si pasás 1, te va a dar 2, si pasás, 20, te va a dar 21. Pero acá la "salida" es distinta, porque la "entrada" también es distinta. Sin embargo, el resultado es el mismo bajo las mismas condiciones. O sea, si pasás 20, siempre va a devolver 21.

En el ejemplo del código aleatorio, pasa lo mismo, me parece. Sólo que el dato de "entrada", variable, es un número al azar que devuelve una función del lenguaje. Pero el resultado sigue siendo invariable. Para los mismos datos de entrada, el resultado va a ser el mismo (tomando al número aleatorio como una "entrada" del procedimiento). O sea, si la clave fuera, nroAleatorio * 3 (por decir algo), siempre que se obtuviera el mismo número aleatorio, se obtendría el mismo resultado. El algoritmo del ejemplo podrá ser más complejo (la verdad, no lo vi), pero la idea sigue siendo la misma, me parece.


Suerte
Califa



El tema es que genera distintos valores de "salida", porque cambian los valores de "entrada". De la misma manera que si tenés una función que le suma 1 a un entero que le pase como parámetro.
  #23 (permalink)  
Antiguo 01/11/2006, 11:22
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Con esto si que ya lo tengo clarisimo..muchas gracias a todos!

Un Saludo!!
__________________
La chapucería de la esquina
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 21:26.