2015-05-27 5 views
1

У меня возникли проблемы с преобразованием этого кода PHP в VB.эквивалент VB.NET хеш-функции PHP

$hashpw = hash('sha256', $salt.$password.$salt) 

У меня есть этот код VB

Public Function HashPassword(ByVal Password As String, ByVal Salt As String) As String 
    Dim pwd As String = Salt & Password & Salt 
    Dim hasher As New Security.Cryptography.SHA256Managed() 
    Dim pwdb As Byte() = System.Text.Encoding.UTF8.GetBytes(pwd) 
    Dim pwdh As Byte() = hasher.ComputeHash(pwdb) 
    Return Convert.ToBase64String(pwdh) 
End Function 

но мне кажется, что пароль я извлечь из базы данных не эквивалентно возвращаемого значения из кода VB выше. Пароль был зашифрован с использованием вышеприведенного кода PHP.

Может ли кто-нибудь помочь мне с этим? Очень ценится. Спасибо.

ответ

1

Функция хеша php возвращает данные, закодированные в шестнадцатеричном формате not base64.

Return BitConverter.ToString(pwdh).Replace("-", "") 
Смежные вопросы