Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Encriptar y Decriptar (https://www.clubdelphi.com/foros/showthread.php?t=47285)

egarc 23-08-2007 17:32:57

Encriptar y Decriptar
 
Buenas chicos, estoy buscando en los foros alguna forma de encriptar un texto y decriptarlo despues.

Tengo una tabla en mi sistema que se llama USUARIOS, dentro hay un campo que se lla PASSWORD, este campo lo quiero guardar en la tabla encriptado, y al momento de acceder al sistema o consultar la contraseña decriptar el valor del campo, para evitar que usuarios indeseados entren a la Base de Datos y puedan ver las passwords de otros.

Les agradecere su pronta respuesta.

Gracias Anticipadas.p

D-MO 23-08-2007 17:36:44

Hola, supongo que es con Delphi que te conectarás a la base de datos, si es así, esta búsqueda en google da muy buenos resultados.
http://www.google.com/search?q=encriptar+en+delphi

También utiliza el buscador de los foros con la palabra encriptar, ya se ha tratado.

Saludos

seoane 23-08-2007 18:01:34

Pues depende de para que uses la clave, si la utilizas para autentificar a los usuarios de tu aplicación puedes utilizar el viejo "truco" de guardar el md5 o el sha1 de la clave, en vez de la propia clave. Así para comprobar si la clave que introdujo el usuario es correcta solo tienes que calcular su md5 o el sha1 y compararlo con el valor guardado. Si alguien malintencionado accede a la base de datos con las contraseñas, solo podrá ver su md5 y no hay forma de obtener la contraseña original a partir de su md5.
http://www.clubdelphi.com/trucos/index.php?id=402

Por el contrario, si lo que necesitas es poder recuperar el valor original de la contraseña para usarla en otra aplicación, entonces puedes cifrar la contraseña utilizando por ejemplo AES:
http://delphi.jmrds.com/?q=node/31

ArdiIIa 23-08-2007 23:27:59

Hola:


Simple y funcional.
En el parámetro Key le pasas lo que quieras.... pero para recuperar la clave, tiene que ser el mismo valor. Obvio verdad ??:)


Código Delphi [-]

  function Encrypt(const S: String; Key: Word): String;
  function Decrypt(const S: String; Key: Word): String;



CONST

EncryptC1 = Numero_que_Quieras;
EncryptC2 = Otro_Numero;





function TForm1.Encrypt(const S: String; Key: Word): String;
var
  I: integer;
begin
  SetLength(Result, length(S));
  for I := 1 to Length(S) do
    begin
     Result[i] := char(byte(S[i]) xor (Key shr 8));
     Key := (byte(Result[i]) + Key) * EncryptC1 + EncryptC2;
    end;
end;


function TForm1.Decrypt(const S: String; Key: Word): String;
var
  I: integer;
begin
  SetLength(Result, length(S));
  for I := 1 to Length(S) do
    begin
      Result[i] := char(byte(S[i]) xor (Key shr 8));
      Key := (byte(S[i]) + Key) * EncryptC1 + EncryptC2;
    end;
end;

JuanErasmo 14-09-2007 17:58:34

buenos dias.
 
no entiendo bien, que es lo que se va a encriptar,,,,

S ??? o Key????

Gracias,,,, que significa cada una de las variables???


La franja horaria es GMT +2. Ahora son las 07:49:11.

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