如何像使用 System.Security.Cryptography.MD5 类一样计算 MD5 值

本文关键字:MD5 一样 计算 何像使 System Security Cryptography | 更新日期: 2023-09-27 18:37:19

在我的应用程序中,使用System.Security.Cryptography.MD5(C#)为文件计算CRC值。它被用作紧凑型数字指纹。

MD5 类被声明为不符合 FIPS,如果禁用以下 Windows 本地策略,则"一切"都可以正常工作:"系统加密:使用符合 FIPS 的算法进行加密、哈希和签名"。

现在,我需要启用上述系统策略,但是MD5类在调用时失败。有没有办法像使用System.Security.Cryptography.MD5一样计算CRC值?

提前致谢,问候

如何像使用 System.Security.Cryptography.MD5 类一样计算 MD5 值

如上所述Damien_The_Unbeliever,您的要求是不兼容的。但稍微详细的答案是"是和否"。

否:不应再使用 MD5,因为存在已知的冲突。它几乎出于所有加密目的而被破坏。如果这些指纹用于任何与安全相关的上下文中,那么建议您更改为安全的哈希函数。SHA2 和 SHA3 是安全的,并且经过 FIPS 认证。将整个应用程序切换到不同的哈希函数现在可能会给您带来一些痛苦,但另一种选择是以后会更痛苦。

是的:这是可能的 - 您可以自己重新实现 MD5,也可以使用不检查 Windows 策略的库。您所要做的就是确保正确的数据格式。但是,我强烈建议不要使用此选项。MD5 坏了。

由于您已经声明必须为符合 FIPS 的加密启用策略,因此我认为这是客户或销售要求,让您别无选择,只能切换到 SHA2 或 SHA3。