Я переписываю веб-приложение Rails в C#. Я действительно застрял с хэш-функции в Ruby:Как преобразовать Ruby's SHA512.hexdigest в C#?
# Generates a 128 character hash
def Password.hash(password,salt)
Digest::SHA512.hexdigest("#{password}:#{salt}")
end
Следующая C# функция дает другой результат:
private static string Hash(string password, string salt)
{
return BitConverter.ToString(new SHA512CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(password + ":" + salt))).Replace("-", "").ToLower();
}
Что я делаю неправильно?
Спасибо
Как выглядят результаты в каждом случае? Использует ли Ruby UTF-8? –