Same string, diferentes valores de hash SHA1 obtidos no VB.net e no PHP

Tenho alguns problemas com o valor de hash SHA1 de uma string. Estou tentando enviar um arquivo de um cliente escrito em VB.net para um servidor escrito em PHP. Meu problema é que, quando passo a mesma string para VB.net e PHP, o valor SHA1 calculado pelo VB.net é completamente diferente do valor calculado pelo PH

Por exemplo, desejo codificar uma string em Base64 e, em seguida, calcular o hash SHA1 da string Base64. Quando o computador executa esta tarefa da versão vb.net e da versão PHP, recebo dois valores SHA1 diferentes, mesmo que aparentemente a sequência codificada Base64 seja a mesma:

VB.net: 2E97A53B09C482A831540B532845BCAC79BFACCFPHP: 350A2080264E2724D4BCBC521C35264D264A1DAF

Certamente estou perdendo alguma coisa, você poderia me apontar na direção certa e me dizer o que estou fazendo de errado aqu

Muito obrigad

Aqui está o código VB.net:

Dim cInput As String
Dim cBase64 As String
Dim objSHA1 As New SHA1CryptoServiceProvider()
Dim abBytesToHash() As Byte
Dim cHash As String


cInput = "the quick brown fox jumps over the lazy dog"
cBase64 = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(cInput))

abBytesToHash = System.Text.Encoding.ASCII.GetBytes(cBase64)

abBytesToHash = objSHA1.ComputeHash(abBytesToHash)
cHash = BitConverter.ToString(objSHA1.ComputeHash(abBytesToHash))
cHash = Replace(cHash, "-", "")

MsgBox("BASE64: " + cBase64 + vbNewLine + "SHA1: " + cHash)

' Result is:
' BASE64: dGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw==
' SHA1: 2E97A53B09C482A831540B532845BCAC79BFACCF

E aqui está o código PHP:

$cInput = "the quick brown fox jumps over the lazy dog";
$cBase64 = base64_encode($cInput);

echo("BASE64: " . $cBase64 . "<br />" . "SHA1: " . strtoupper(sha1($cBase64)));

// Result is:
// BASE64: dGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw==
// SHA1: 350A2080264E2724D4BCBC521C35264D264A1DAF

questionAnswers(1)

yourAnswerToTheQuestion