• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ht

[.Net] Hashs MD5 diferentes

8 mensagens neste tópico

boas ppl,

precisava de saber pk raio a hash md5 gerada pelo vb.net é diferente à k é gerada no php/mysql :hmm:. pelo k me parece a hash gerada pelo php/mysql é a correcta...

 

esta função gera um hash md5:

   Public Function MD5_Hash(ByVal word As String)
        Dim Ue As New UnicodeEncoding
        Dim ByteSourceText() As Byte = Ue.GetBytes(word)
        Dim Md5 As New MD5CryptoServiceProvider
        Dim ByteHash() As Byte = Md5.ComputeHash(ByteSourceText)
        Return Convert.ToBase64String(ByteHash)
    End Function

por exemplo, para a string "123456" a hash gerada pelo php/mysql é e10adc3949ba59abbe56e057f enquanto que pelo vb.net é zgv9FQWbaNZ2iIhNej0+jA==..

alguma coisa deve tar mal na função ou ha algo que eu n saiba...

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu nunca usei basic, mas olhando para esse hashes constato o seguinte:

uma está em hexadecimal e outra em ascii.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nem foi preciso olhar para o código para perceber o que está a acontecer, mas após analise confirma-se... base64 encoding (...==)... ;)

        Return Convert.ToBase64String(ByteHash)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois, tb ja tinha reparado nisso :hmm:.. mas foi o k vi aki no forum.. logo à partida como n foi dito nada acerca do mesmo pensei k estava correcto...

infelizmente no que respeita a segurança pra .net, ainda tou mt "azedo"...

depois de mt pesquisar informação sobre o assunto ainda n tou a 100% acerca deste algoritmo de hash, mas ja consegui fazer uma funcao que fizesse uma hash md5 igual à do php/mysql.. baseei-me em alguns exemplos, mas se alguem precisar cá vai..

Public Function MD5_Hash(ByVal SourceText As String) As String
        Try
            Dim MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider
            Dim rawBytes As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(SourceText)
            Dim myHash As Byte() = md5.ComputeHash(rawBytes)
            Dim Capacity As Integer = (myHash.Length * 2 + (myHash.Length / 8))
            Dim result As New System.Text.StringBuilder(Capacity)
            Dim i As Integer
            For i = 0 To myHash.Length - 1
                result.Append(BitConverter.ToString(myHash, i, 1))
            Next i
            Return result.ToString().TrimEnd(New Char() {" "c}).ToLower
        Catch ex As Exception
            Return "0"
        End Try
    End Function

fiquem bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a que o th postou e igual em asp e vb.net ... n testei em php :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o php ja tem um função que converte automaticamente um texto numa hash md5.. basta fazer md5("texto").. nisto o php é uma maravilha, por isso gostava de saber por que razao o .net n tem uma uma função como no php...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o php ja tem um função que converte automaticamente um texto numa hash md5.. basta fazer md5("texto").. nisto o php é uma maravilha, por isso gostava de saber por que razao o .net n tem uma uma função como no php...

se calhar porque no php essa função está sempre a ser usada e no .net nem por isso...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora