1) Convierto la cadena Hex a Bytes.
2) Obtengo los Bytes del archivo .
4) Comparo la Cadena Hex convertida a Bytes con los Bytes del archivo.
Bueno ahora lo que tengo hecho hasta ahora :
Cadena Hex Almacenada en una variable XML:
Código
Dim xml = <?xml version="1.0"?> <signatures> <signature> <name>Archivo1</name> <hex>58354f2150254041505b345c505a58353428505e2937434329377d2445494341522d5354414e4441</hex> </signature> <signature> <name>Archivo2</name> <hex>f649e7cc1e00d37e7f3bc85fff3486ac6de91433aa3a39ef1b114d37b534b8323f6ff67132638a3fe2f2afb4aaf9b7e3b4669bb3cab028298aab533c5d73546cdd396fd58c2c7734c50bca68eb709b889a086fb3db5f8ae533a4d5816e8c5f560983695efa14e291c204b1316e657773</hex> </signature> </signatures>
Aquí el código para leer el XML y Convertirlo a Bytes:
Código
Private Sub hexttoBytes() Dim Str As New StringBuilder For Each signature As XElement In xml.Root.Elements stringToByteArray(signature.<hex>.Value) Next End Sub Public Shared Function stringToByteArray(text As String) As Byte() Dim bytes As Byte() = New Byte(text.Length \ 2 - 1) {} For i As Integer = 0 To text.Length - 1 Step 2 bytes(i \ 2) = Byte.Parse(text(i).ToString() & text(i + 1).ToString(), System.Globalization.NumberStyles.HexNumber) Next Return bytes End Function
Aquí el código para Obtener los Bytes del archivo a comparar
Código
' Opendia IS OPENFILEDIALOG Dim result As DialogResult = OpenDia.ShowDialog() If result = Windows.Forms.DialogResult.OK Then Dim path As String = OpenDia.FileName Try ' BytesFile es donde se almacenan Los Bytes del archivo a comparar ' Necesito saber Como los Comparo con los Otros Bytes que antes eran HEX Catch ex As Exception MsgBox(ex.Message) End Try End If
AHORA LAS DUDAS, SEGÚN LO QUE TENGO ECHO , No logro Como hacer Para Comparar los Bytes que antes eran HEX con los Bytes del archivo. Lo que quiero lograr seria algo como esto :
Código
'Donde BytesFiles es el Archivo y BytesHex eran la Cadena Hex que ahora son Bytes ' En caso de que los Bytes sean Iguales. lanza el mensaje de que encontró el archivo o no. If bytesFile = BytesHex then Msgbox("Archivo Coincide") else Msgbox("Archivo No Coincide") end if
Gracias De Antemano