Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-12-2018
Avatar de mlara
[mlara] mlara is offline
Miembro Premium
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 667
Poder: 21
mlara Va por buen camino
Question Componentes SDean

Hola... alguien sabe qué pasó con los SDeanComponents? Qué componentes recomendarían para obtener cadenas Hash?
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre.
Responder Con Cita
  #2  
Antiguo 23-12-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No los conocía, puedes descargarlo de github.
Aunque veo que son de 2014
Creo que si solamente necesitas el hash de una cadena, delphi trae ya opción para eso.
Responder Con Cita
  #3  
Antiguo 27-12-2018
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 909
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Yo utilizo las funciones de las Indy...
Código Delphi [-]
{
Autor: Christian Loayza
Descripcion: Permite calcular los valores hash utilizando los algoritmos
             haMD5, haSHA1, haSHA256, haSHA384, haSHA512.
             Para ello hace uso de las funciones contenidas en las Indy.
}
unit CLCalcHash;

interface
Uses System.Classes, System.SysUtils, IdGlobal, IdHash, IdHashMessageDigest,
     IdHashSHA, IdSSLOpenSSL;

type
   THashAlgorithm = ( haMD5, haSHA1, haSHA256, haSHA384, haSHA512);
   function CalcHashText(Algorithm:THashAlgorithm; Text:String; Key:String=''):string;
   function CalcMd5(Text:String; Key:String=''):String;
   function CalcSha1(Text:String; Key:String=''):String;
   function CalcSha256(Text:String; Key:String=''):String;
   function CalcSha384(Text:String; Key:String=''):String;
   function CalcSha512(Text:String; Key:String=''):String;
   function CalcHashFile(Algorithm:THashAlgorithm; Filename:String; Key:String=''):string;

implementation


function CalcHashFile(Algorithm:THashAlgorithm; Filename:String; Key:String=''):string;
var
  Stream: TFileStream;
  hash:TIdHash;
begin
     Result:= '';
     if not FileExists(Filename) then
        Exit;

     Stream := TFileStream.Create(Filename, fmOpenRead);
     case Algorithm of
          haMD5   :hash:=TIdHashMessageDigest5.Create;
          haSHA1  :hash:=TIdHashSHA1.Create;
          haSHA256:hash:=TIdHashSHA256.Create;
          haSHA384:hash:=TIdHashSHA384.Create;
          haSHA512:hash:=TIdHashSHA512.Create;
     end;

     try
        with hash do
        try
            Result := HashStreamAsHex(Stream);
        finally
           Free;
        end;
    finally
       Stream.Free;
    end;
end;

function CalcMd5(Text:String; Key:String=''):String;
begin
     result:=CalcHashText(haMD5, Text, Key);
end;

function CalcSha1(Text:String; Key:String=''):String;
begin
     result:=CalcHashText(haSha1, Text, Key);
end;

function CalcSha256(Text:String; Key:String=''):String;
begin
     result:=CalcHashText(haSha256, Text, Key);
end;

function CalcSha384(Text:String; Key:String=''):String;
begin
     result:=CalcHashText(haSha384, Text, Key);
end;

function CalcSha512(Text, Key:String):String;
begin
     result:=CalcHashText(haSha512, Text, Key);
end;

function CalcHashText(Algorithm: THashAlgorithm; Text:String; Key:String=''):string;
var
   hash:TIdHash;
begin
     case Algorithm of
          haMD5   :hash:=TIdHashMessageDigest5.Create;
          haSHA1  :hash:=TIdHashSHA1.Create;
          haSHA256:hash:=TIdHashSHA256.Create;
          haSHA384:hash:=TIdHashSHA384.Create;
          haSHA512:hash:=TIdHashSHA512.Create;
     end;

     with hash do
     try
         Result := HashStringAsHex(iif(Key='',Text, Key+Text));
     finally
        Free;
     end;
end;
initialization
   LoadOpenSSLLibrary();
end.

Saludos cordiales
Responder Con Cita
  #4  
Antiguo 27-12-2018
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 909
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
El compañero MAJ, habían dado una excelente solución...

System.Hash

Saludos cordiales
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Componentes VCL C++ andres_89 C++ Builder 2 21-05-2014 19:11:07
Componentes Ocx mrh_peru OOP 0 27-03-2010 19:02:53
Componentes JV JUANRS Varios 23 03-07-2008 15:43:23
componentes xp supermilloriver OOP 2 28-07-2005 18:50:52
Componentes PHP Bicho PHP 2 13-12-2004 17:18:37


La franja horaria es GMT +2. Ahora son las 04:15:34.


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
Copyright 1996-2007 Club Delphi