CRYPTOGRAFIA MD5 DE ARQUIVO XML
Bom dia colegas
Tenho um arquivo xml
como é que eu gero a cryptografia MD deste arquivo no vbnet 2010 ou 2008
imagino algo do tipo md5(meuarquivo.xml.tostring).......
Obrigado
Tenho um arquivo xml
como é que eu gero a cryptografia MD deste arquivo no vbnet 2010 ou 2008
imagino algo do tipo md5(meuarquivo.xml.tostring).......
Obrigado
ARNALDOCRUZ....
Não sei se te ajuda, mas tem esse artigo do Macoratti que achei e se parece com o que quer:
Link: VB.NET - Gerando Hash e comparando arquivos
Só uma observação, não testei como o código funciona...Só olhei por cima o código...
Abraços..
Não sei se te ajuda, mas tem esse artigo do Macoratti que achei e se parece com o que quer:
Link: VB.NET - Gerando Hash e comparando arquivos
Só uma observação, não testei como o código funciona...Só olhei por cima o código...
Abraços..
Tenho um metodo pronto para vc amigo:
Para utilizar:
MessageBox.Show(getMd5Hash([Ô]ARNALDOCRUZ[Ô]))
O metodo pede uma string e retorna uma string com o HASH MD5
Flw abraços !!!
static string getMd5Hash(string input)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString([Ô]x2[Ô]));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
Para utilizar:
MessageBox.Show(getMd5Hash([Ô]ARNALDOCRUZ[Ô]))
O metodo pede uma string e retorna uma string com o HASH MD5
Flw abraços !!!
Se vc quiser tbm tem um metodo que pode ser usado para verfiicar se o HASH MD5 é válido.
Você informa o XML por exemplo ou um texto e informa o HASH que foi gerado, para verificar se é válido
Por exemplo:
}
Espero que ajude !!
Abraços !!
Você informa o XML por exemplo ou um texto e informa o HASH que foi gerado, para verificar se é válido
static bool verifyMd5Hash(string input, string hash)
{
// Hash the input.
string hashOfInput = getMd5Hash(input);
// Create a StringComparer an comare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (0 == comparer.Compare(hashOfInput, hash))
{
return true;
}
else
{
return false;
}
}
Por exemplo:
if (verifyMd5Hash([Ô]ARNALDOCRUZ[Ô], [Ô]3f43607d8b36d164f7f6535622493ea9[Ô]) == false)
{
MessageBox.Show([Ô]HASH não é válido !![Ô]);
}
else
{
MessageBox.Show([Ô]HASH é válido !!![Ô]);
}
Espero que ajude !!
Abraços !!
Elysanches não soube como utilizar este seu código, colei no vbnet 2010 .
erros como segue abaixo
MD5 md5Hasher -->>. Declaration expected
byte[] --- Sintax error
StringBuilder sBuilder-->>. Declaration expected
erros como segue abaixo
MD5 md5Hasher -->>. Declaration expected
byte[] --- Sintax error
StringBuilder sBuilder-->>. Declaration expected
Esse código não está em VB.Net amigo, está em C#
Outra coisa, não esqueça de add os [Ô]using[Ô] (C#) ou Imports (VB.Net).
(C#)
using System.Security.Cryptography;
(VB.Net)
Imports System.Security.Cryptography
Abraços !!!
Outra coisa, não esqueça de add os [Ô]using[Ô] (C#) ou Imports (VB.Net).
(C#)
using System.Security.Cryptography;
(VB.Net)
Imports System.Security.Cryptography
Abraços !!!
bom optei por usar a função abaixo mas tem um porem
na documentação está assim -->>.. Arquivo = Arquivo.Replace([Ô][Ô],[Ô][Ô]).Replace([Ô]
[Ô],[Ô][Ô]).Replace([Ô] [Ô],[Ô][Ô]);
1 - Isso seria para retirar as barras do nome do arquivo ou do conteudo do arquivo ou estou enganado ?
2 - e como fazer pra tirar ? já que existe um conversão de bytes ?
Public Function md5_file(ByVal filepath As String, Optional ByVal raw_output As Boolean = False) As String
Try
If Not System.IO.File.Exists(filepath) Then
Throw New Exception([Ô]Arquivo inexistente[Ô])
End If
Dim fs As New System.IO.FileStream(filepath, IO.FileMode.Open) [ô]usando a classe FileStream em vez da StreamReader
Dim md5 As New MD5CryptoServiceProvider
md5.ComputeHash(fs) [ô]Calculando direto atraves do objeto
fs.Close()
Dim hashfinal As String = [Ô][Ô]
For i As Integer = 0 To md5.Hash.Length - 1
If raw_output Then
hashfinal += Convert.ToChar(md5.Hash(i))
Else
hashfinal += Convert.ToString(md5.Hash(i).ToString([Ô]x2[Ô]))
End If
Next
Return hashfinal
Catch ex As Exception
Return ex.Message
End Try
End Function
na documentação está assim -->>.. Arquivo = Arquivo.Replace([Ô][Ô],[Ô][Ô]).Replace([Ô]
[Ô],[Ô][Ô]).Replace([Ô] [Ô],[Ô][Ô]);
1 - Isso seria para retirar as barras do nome do arquivo ou do conteudo do arquivo ou estou enganado ?
2 - e como fazer pra tirar ? já que existe um conversão de bytes ?
Public Function md5_file(ByVal filepath As String, Optional ByVal raw_output As Boolean = False) As String
Try
If Not System.IO.File.Exists(filepath) Then
Throw New Exception([Ô]Arquivo inexistente[Ô])
End If
Dim fs As New System.IO.FileStream(filepath, IO.FileMode.Open) [ô]usando a classe FileStream em vez da StreamReader
Dim md5 As New MD5CryptoServiceProvider
md5.ComputeHash(fs) [ô]Calculando direto atraves do objeto
fs.Close()
Dim hashfinal As String = [Ô][Ô]
For i As Integer = 0 To md5.Hash.Length - 1
If raw_output Then
hashfinal += Convert.ToChar(md5.Hash(i))
Else
hashfinal += Convert.ToString(md5.Hash(i).ToString([Ô]x2[Ô]))
End If
Next
Return hashfinal
Catch ex As Exception
Return ex.Message
End Try
End Function
Isso quer dizer para retirar as linhas em brancos, ou enters ou tabulação ( ).
Ou seja basicamente ele deixa o arquivo xml todo em uma linha só para que possa ser criptografado em MD5.
Ou seja basicamente ele deixa o arquivo xml todo em uma linha só para que possa ser criptografado em MD5.
Tópico encerrado , respostas não são mais permitidas