TISS XML calculo de Hash

Bom dia, estou com problemas para calcular o hash de um arquivo XML no padrão TISS. Eu tenho um sistema que já gera esse xml com um hash já calculado. Dai eu utilizo o xstream para ler o valor nas tags do xml, concateno todos os valores em uma string e mando caucular o hash(md5), mas nunca sai o mesmo hash que o sistema me gerou. Eu dei uma olhada no site da ANS para ver as especificações de como calcular o hash mas não me ajudou muito. La so fala o seguinte:

[quote]A estrutura do corpo da mensagem TISS padroniza o conteúdo de informação que deve ser transacionado entre prestadores e operadoras de planos de saúde.

O epílogo da mensagem TISS contém o HASH das informações. Esse campo contém o HASH apenas dos valores contidos nas transações, não incluindo as tags XML. O objetivo do HASH é garantir que o dado, uma vez gravado, não seja alterado. O atributo VALOR do elemento HASH de uma transação deve conter, em hexadecimal (32 caracteres), o HASH MD5 (Message-Digest Algorithm) dos valores dos atributos da transação justapostos, lidos da esquerda para a direita. Não devem ser incluídos no cálculo do HASH os nomes dos elementos ou dos atributos da transação.
http://www.ans.gov.br/portal/site/_hotsite_tiss/mensagem_eletronica.htm
[/quote]

Se alguem ja trabalhou com XML/TISS e puder me dar uma luz…

[code] Public Shared Function HashTextMD5(ByVal TextToHash As String)
Dim md5 As MD5CryptoServiceProvider
Dim bytValue() As Byte
Dim bytHash() As Byte

        ' Create New Crypto Service Provider Object
        md5 = New MD5CryptoServiceProvider

        ' Convert the original string to array of Bytes
        bytValue = System.Text.Encoding.UTF8.GetBytes(TextToHash)

        ' Compute the Hash, returns an array of Bytes
        bytHash = md5.ComputeHash(bytValue)

        md5.Clear()

        Dim hexa As String = String.Empty
        Dim b As Byte
        For Each b In bytHash
            hexa &= b.ToString("X2") ' <-- Formata para hexa de dois dígitos.
        Next

        Return hexa
    End Function

[/code]
Para chamar a função, crie um módulo em vb.net
adicione a classe abaixo:

Public Class Util End Class insira a função acima dentro da Class Util
E no form faça a chamada pela função assim: util.HashTextMD5(txtNome.text)

Esta função irá gerar o MD5 em hexadecimal.

Para cálculo do hash vc precisará concatenar todas as strings do xml lembrando que vc deverá usar a função TRIM para retirar espaços em branco.