You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6中如何正确计算SHA512哈希 解决SYSLIB0021过时警告

.NET 6 修正 SHA512Managed 过时警告的方案

核心原因

SYSLIB0021 警告触发原因是SHA512Managed这类派生加密实现类已在 .NET 6 中被标记为过时,官方推荐直接调用加密算法基类的Create静态方法获取实例,框架会自动适配当前运行平台的最优实现。

修正代码(兼容所有.NET 6+场景)

需要先引入以下命名空间:

using System.Text;
using System.Security.Cryptography;

替换原有实例化逻辑即可:

var data = Encoding.UTF8.GetBytes("key");
byte[] hash;
using (SHA512 shaM = SHA512.Create())
{
    hash = shaM.ComputeHash(data);
}

更简洁的推荐写法

.NET 5 及以上版本还可以直接使用基类的静态HashData方法,无需手动管理对象释放:

var data = Encoding.UTF8.GetBytes("key");
byte[] hash = SHA512.HashData(data);

以上两种写法都完全适配 ASP.NET MVC 控制器的调用场景,修改后即可消除 SYSLIB0021 警告。

内容的提问来源于stack exchange,提问作者Andrus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 12:06:09