Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #25  
Antiguo 07-10-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Aprovecho para mostrarte como obtener el Hash MD5 de un archivo con la API de Windows tal y como lo utilicé en este ejemplo para cazar un virus: TerminateMD5_Process, a la caza de un virus...

Código PHP:
//---------------------------------------------------------------------------
#define MD5LEN  16
#define BUFSIZE 1024
typedef CHAR TMD5[33];


void GetMD5FromFile(CHARFileNameCHAR *MD5)
{
  
HANDLE hFile 0;
  
HCRYPTPROV hProv 0;
  
HCRYPTHASH hHash 0;
  
BYTE Hash[MD5LEN];
  
DWORD bHash 0;
  
DWORD bRead 0;
  
BYTEBuffer = (BYTE*)VirtualAlloc(0BUFSIZEMEM_COMMITPAGE_READWRITE);
  
hFile CreateFile(FileNameGENERIC_READFILE_SHARE_READNULLOPEN_EXISTINGFILE_FLAG_SEQUENTIAL_SCAN

NULL);
  if(
hFile != INVALID_HANDLE_VALUE){
    if(
CryptAcquireContext(&hProvNULLNULLPROV_RSA_FULLCRYPT_VERIFYCONTEXT)){
      if(
CryptCreateHash(hProvCALG_MD500, &hHash)){
        while (
1) {
          
ReadFile(hFileBufferBUFSIZE, &bReadNULL);
          if(!
bRead) break;
          
CryptHashData(hHashBufferbRead0);
        }
        
bHash MD5LEN;
        if(
CryptGetHashParam(hHashHP_HASHVALHash, &bHash0)){
          for(
int i=0i<2*MD5LENi++){
            
MD5[i] = (0x0F Hash[i/2] >> 4*((i+1)%2)) + 48;
            if(
MD5[i] > '9'MD5[i] += 7;
          }
          
MD5[32] = 0;
        }
      }
      
CryptDestroyHash(hHash);
    }
    
CryptReleaseContext(hProv0);
  }
  
CloseHandle(hFile);
  
VirtualFree(Buffer0MEM_RELEASE);

Saludos.
Responder Con Cita
 


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
Ellas y Ellos jcarteagaf Humor 1 06-08-2011 03:43:05
Llamada entre ventana usando paquetes. PittyDelphi OOP 3 27-01-2011 12:28:37
¿Saben algo de ellos? roman La Taberna 11 18-11-2008 18:59:07
Comunicación TCP/IP entre dos programas usando componentes INDY Roger_Delphi Internet 2 20-10-2008 14:02:49
Comunicacion entre procesos walito Varios 0 14-11-2007 21:55:53


La franja horaria es GMT +2. Ahora son las 22:10:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi