【发布时间】:2021-09-21 10:29:14
【问题描述】:
我有一个数据库,其中图像(byte[] - 通常小于 100k)存储在一个表中。 表中有一个 Hash 列,用于存储图像字节的 MD5 哈希。 此处没有安全隐患,它仅由应用程序用作快速检查图像是否已存在。
MD5Cng 类已从 .NET 5 中消失,因此我现在想替换 Hash 值以准备稍后迁移到 .NET 6。
什么是一个简单的算法,它将接受一个 byte[] 并返回 byte[16]?
【问题讨论】:
-
取不同散列的前 16 个字节(选择你最喜欢的),或使用 CRC 之类的东西
-
如果 MD5 已从 .NET 5 中删除,我会感到非常惊讶。
-
static readonly MD5 md5CSP = new MD5Cng();是代码中不再编译的行。而且我似乎误解了已弃用并不意味着已删除。感谢您的快速回复 - 我会弄清楚替换是什么。 -
MD5Cng专门在 .NET Core 中被删除,但您应该使用static readonly MD5 md5CSP = MD5.Create();