在.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,但我需要使用的软件库仍然在使用它.有什么 idea 吗?如果需要,我愿意使用JavaScript MD5库.

推荐答案

我已经回答了一个类似的问题,在这里回答了这个问题:Any .NET MD5 library (Nuget) for 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

Csharp相关问答推荐

Blazor:计算值或保留为默认值

有没有办法在WPF文本框中添加复制事件的处理程序?

使用两个不同的枚举作为Switch语句中的CASE生成唯一值

应用程序重新启动后,EFCore列表的BSON反序列化错误

JSON空引用异常仅在调试器中忽略try-Catch块,但在其他上下文中捕获得很好

从.Net 6 DLL注册和检索COM对象(Typelib导出:类型库未注册.(异常来自HRESULT:0x80131165))

如何使用EF Core和.NET 8来upsert到具有多对多关系的表?

C# CompareTo()和Compare()可以返回除-1和1以外的整数吗?

System.Text.Json .NET 8多形态语法化

在不添加不必要的尾随零的情况下本地化浮点型?

依赖项注入、工厂方法和处置困境

我可以查看我们向应用程序洞察发送了多少数据吗?

为什么我不能从我的异步任务方法中返回异步任务方法?

如何在C#中从MongoDB IPipelineStageDefinition中获取聚合命令的字段/选项?

如何从SignalR获取连接客户端的域

如何在.NET Core 8中自定义标识用户模型

仅在ASP.NETCore应用程序中的附加单独端口上公开一组终结点

ASP.NET核心中的授权,如何在DbContext启动之前提供租用ID

如果所有";async任务方法()";调用都返回Task.FromResult()-是否同步执行?

如何更改Datagridview行标题