Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Segurida en 8 Mayo 2011, 21:52 pm



Título: [Solucionado] Obtener código MD5 Checksum de un proceso abierto
Publicado por: Segurida en 8 Mayo 2011, 21:52 pm
Pues eso, necesito saber el método para obtener el código MD5 Checksum de un proceso abierto, de cualquier proceso, sin necesidad de cerrarlo, aquí dejo el código para los que necesiten obtener el código MD5 Checksum de un archivo:
Código
  1. ' Para que este código funcione "tal cual está" necesitas:
  2. ' Form1 y dentro TextBox1 (multilínea activado)
  3.  
  4. Imports System.IO
  5. Imports System.Text
  6. Imports System.Security.Cryptography
  7.  
  8. Public Class Form1
  9.    Protected Function MD5Checksum(ByVal fileName As String) As String
  10.        Dim file As New FileStream(fileName, FileMode.Open)
  11.        Dim md5 As MD5 = New MD5CryptoServiceProvider()
  12.        Dim retVal As Byte() = md5.ComputeHash(file)
  13.        file.Close()
  14.  
  15.        Dim sb As New StringBuilder()
  16.        For i As Integer = 0 To retVal.Length - 1
  17.            sb.Append(retVal(i).ToString("x2"))
  18.        Next
  19.        Return sb.ToString()
  20.    End Function
  21.  
  22.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  23.        TextBox1.Text = MD5Checksum("C:\imagen1.jpg").ToString + vbCrLf + MD5Checksum("C:\imagen1 - copia.jpg").ToString
  24.    End Sub
  25. End Class
  26.  
Este código puede ser muy útil, lo comparto con todo el que lo necesite  ;)
Si alguien sabe hacer lo que pido, por favor que avise, he probado a poner la ruta de un proceso .exe que se esté ejecutando, y da error, si alguien sabe cómo hacerlo sin cerrar dicho proceso, se los agradezco.
saludos.


Título: Re: Obtener código MD5 Checksum de un proceso abierto
Publicado por: seba123neo en 8 Mayo 2011, 22:17 pm
Hola, proba esto, a mi me funciona bien.

Código
  1. Imports System.IO
  2.  
  3. Public Class Form1
  4.  
  5.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.        MsgBox(ObtenerHashProceso("C:\Archivos de programa\Mozilla Firefox\firefox.exe", Security.Cryptography.MD5.Create))
  7.    End Sub
  8.  
  9.    Public Shared Function ObtenerHashProceso(ByVal pPath As String, ByVal pTipoHash As Security.Cryptography.HashAlgorithm) As String
  10.        Dim vHASH As String
  11.  
  12.        Dim vStream As FileStream = File.OpenRead(pPath)
  13.  
  14.        Dim vArrHash As Byte() = pTipoHash.ComputeHash(vStream)
  15.  
  16.        vHASH = BitConverter.ToString(vArrHash).Replace("-", "")
  17.  
  18.        vStream.Close()
  19.  
  20.        Return vHASH
  21.    End Function
  22. End Class

saludos.


Título: Re: Obtener código MD5 Checksum de un proceso abierto [Tema resuelto]
Publicado por: Segurida en 8 Mayo 2011, 22:24 pm
Muchas gracias, funciona perfecto, mil gracias  :)
Tema resuelto.