В консольном приложении .NET 8 этот код работает:
using var hasher = MD5.Create();
var bytes = Encoding.UTF8.GetBytes("Hello world!");
var hashBytes = hasher.ComputeHash(bytes);
var hashHex = Convert.ToHexString(hashBytes);
Console.WriteLine(hashHex);
// Prints: 86FB269D190D2C85F6E0468CECA42A20
В Blazor WASM я получаю эту ошибку:
Ошибка: произошла одна или несколько ошибок. (MD5 не является известным алгоритмом хеширования)
Я узнал, что MD5 больше не рекомендуется, но он все еще используется библиотекой программного обеспечения, с которой мне нужно работать. Есть идеи? При необходимости я открыт для библиотеки Javascript MD5.
Я ответил на аналогичный вопрос, который отвечает на этот вопрос здесь: Любая библиотека .NET MD5 (Nuget) для Blazor (WebAssembly)?
Код в этом посте взят из библиотеки с открытым исходным кодом Radzen. Я немного изменил его, чтобы он больше соответствовал исходной реализации MS.
Пример использования:
var bytes = Encoding.UTF8.GetBytes("Hello world!");
var hashBytes = MD5.ComputeHash(bytes);
var hashHex = Convert.ToHexString(hashBytes);
Console.WriteLine(hashHex);
// 86FB269D190D2C85F6E0468CECA42A20
Это работает. Просто жду возможности принять. Спасибо!