Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   generar llave (https://www.clubdelphi.com/foros/showthread.php?t=38268)

gsilvei 08-12-2006 19:49:15

generar llave
 
hola a todos, no se si este hilo corresponda a este sub-foro, resulta que desenvolvi una aplicacion, y me interesaria saber que componente, o algo similar, pueda utilizar, para desde mi pagina web poder generar una llave, para liberar el uso de la apalicacion por una determinado tiempo, no tengo idea de como deberia realizarlo, asi que acepto cualquier sugerencia, desde ya muchas gracias a todos en el foro.
saludos

dec 08-12-2006 20:17:34

Hola,

¿Tu página Web está programada con algún lenguaje de Script, como pueda serlo PHP?

En general creo que podrías dar algo más de información acerca de lo que tienes pensado hacer... y ya hecho.

gsilvei 08-12-2006 23:34:47

hola, mi pagina trabaja con PHP y MySql, la idea es que usuarios registrados puedan generar una llave, para ser insertada en la aplicacion que se les entrego, la aplicacion es un pequeño programa donde despues de un tiempo, tendria que pedir una llave nueva para continuar trabajando con ella. gracias

seoane 09-12-2006 00:10:15

1 Archivos Adjunto(s)
Tengo entendido que en php existen funciones para generar el hash md5, al menos el compañero dec las utiliza en su proyecto loturak, no se si son propias del lenguaje o usa alguna librería adicional. Pero volviendo al tema de tu pregunta, puedes generar una clave que tenga, por ejemplo, el siguiente formato:
Código:

Fecha+'?'+md5(Fecha+Clave)
Por ejemplo:
Código:

Fecha = 08/12/2006
Clave = 'Clave'
La llave resultante seria = 08/12/2006?e24aa1c25bd93d7e1ec894b79986ae80

Tu programa pediría que se le ingresara esa llave. La fecha sabemos que es todo lo que se encuentre a la izquierda del '?'. Con esa fecha podremos calcular la fecha de caducidad, y calculando su md5 junto con la clave, podemos comprobar que no se manipulo la fecha.

El código en delphi seria algo así:
Código Delphi [-]
const
  Clave = 'Clave';

// Esta funcion nos devuelve la fecha, o una cadena vacia si la llave no es valida
function TestKey(Key: String): String;
var
  i: integer;
begin
  Result:= EmptyStr;
  i:= Pos('?',Key);
  if i > 0 then
    if Copy(Key,i+1,MAXINT) = StrCheckSum(Copy(Key,1,i-1)+Clave) then
      Result:= Copy(Key,1,i-1);
end;

Solo falta el código para generar la clave en php, aunque no creo que resulte difícil es mejor que te ayude alguien con mas experiencia en este lenguaje. Yo te dejo como seria en Delphi, para que te hagas una idea:
Código Delphi [-]
function GenKey(Fecha: String): String;
begin
  Result:= Fecha + '?' + StrCheckSum(Fecha+Clave);
end;

// Por ejemplo
Key:= GenKey(DateToStr(Date));

En los ejemplos anteriores use la siguiente librería para generar los md5:

dec 09-12-2006 00:18:44

Hola,

En PHP existe la función "nativa" "md5", es decir, donde Domingo dice:

Código Delphi [-]
Result:= Fecha + '?' + StrCheckSum(Fecha+Clave);

En PHP tendríamos que sería algo como esto:

Código PHP:

$result $Fecha '?' md5($Fecha+$Clave); 



La franja horaria es GMT +2. Ahora son las 19:44:53.

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