Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Funcion o componente para calcular el md5? (https://www.clubdelphi.com/foros/showthread.php?t=69256)

flystar 04-08-2010 22:42:22

Funcion o componente para calcular el md5?
 
Hermanos:

Algun componente para calcular el MD5 de un valor?

Se los agradecere si me pasan uno o alguna función.

Gracias.

white_zombie 04-08-2010 23:18:16

Hola, Seoane en su web tiene una unit llamada Hashes que sirve para calcular el md5 y sha1.

Un Saludo.

ecfisa 04-08-2010 23:20:35

Hola flystar.

Aca también hay algo:http://www.clubdelphi.com/foros/showthread.php?t=47285

Y aunque no es específicamente lo que pediste, encontré este código que es para encriptarlo.
Quizá te pueda servir.
Código Delphi [-]
function md5(const Input: String): String;
var
  hCryptProvider: HCRYPTPROV;
  hHash: HCRYPTHASH;
  bHash: array[0..$7f] of Byte;
  dwHashBytes: Cardinal;
  pbContent: PByte;
  i: Integer;
begin
  dwHashBytes := 16;
  pbContent := Pointer(PChar(Input));
  Result := '';
  if CryptAcquireContext(@hCryptProvider, nil, nil, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT or CRYPT_MACHINE_KEYSET) then
  begin
    if CryptCreateHash(hCryptProvider, CALG_MD5, 0, 0, @hHash) then
    begin
      if CryptHashData(hHash, pbContent, Length(Input) * sizeof(Char), 0) then
      begin
        if CryptGetHashParam(hHash, HP_HASHVAL, @bHash[0], @dwHashBytes, 0) then
        begin
          for i := 0 to dwHashBytes - 1 do
          begin
            Result := Result + Format('%.2x', [bHash[i]]);
          end;
        end;
      end;
      CryptDestroyHash(hHash);
    end;
    CryptReleaseContext(hCryptProvider, 0);
  end;
  Result := AnsiLowerCase(Result);
end;

Saludos.

flystar 04-08-2010 23:32:45

Gracias
 
Gracias por sus respuestas a todos si jalan

es bueno aclarar que para usar el algortimo de ecfisa
es necesario dar de alta en el proyecto la unidad wcrypt2
que se menciona en http://irsoft.de/web/Delphi-MD5

ecfisa 04-08-2010 23:39:08

Como verás flystar esto es un ida y vuelta.:)

Gracias por decirme de donde había sacado el código. Hace un tiempo anoté el código en el block de notas y olvidé anotar el link...:(


Saludos.

flystar 04-08-2010 23:43:27

De nada
 
Estamos para ayudarnos!

movorack 05-08-2010 01:42:39

Cita:

Empezado por flystar (Mensaje 372649)
... la unidad wcrypt2
que se menciona en http://irsoft.de/web/Delphi-MD5

Yo usé esta unidad para encriptar claves md5 en delphi 7 y todo funcionaba ok; pero en delphi 2010 arroja un hash incorrecto.

como la clave la validaba contra el hash que se almacena en la tabla de usuarios, terminé usando la función md5 del mismo postgres.

Código SQL [-]
select md5('miclave');

flystar 05-08-2010 04:28:47

Tambien esa es buena
 
Esa también es una opcion, usar las funciones de una BD como mysql o postgresql

yapt 05-08-2010 13:56:17

Y no olvides....

Código Delphi [-]
TIdHashMessageDigest5

....de las Indy. Está diseñada solo para esto y ya la tienes en tu Delphi sin instalar nada externo.

Saludos.


La franja horaria es GMT +2. Ahora son las 15:28:49.

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