为什么像 SHA1Managed、SHA256Managed 这样的类对我的 Intellisense 隐藏? [英] Why are classes like SHA1Managed, SHA256Managed hidden from my Intellisense?

查看:36
本文介绍了为什么像 SHA1Managed、SHA256Managed 这样的类对我的 Intellisense 隐藏?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

进入System.Security.Cryptography命名空间时,只能看到SHA1SHA256HMACSHA1 等类.

When I go to the System.Security.Cryptography namespace, I can only see SHA1, SHA256, HMACSHA1 etc classes there.

但实际上,有一个 SHA1Managed 类,以及 SHA256Managed,我没有看到?当我手动写出来时 - 一切都按预期工作.

But actually, there is a SHA1Managed class, as well as SHA256Managed, which I don't see? When I write it out manually - everything works as expected.

这是故意隐藏的吗?简单地实例化这些的托管版本与例如调用它们的工厂方法(SHA1.Create()SHA256.Create())之间有什么区别?它们是一样的吗?

Is this hidden intentionally? And what's the difference between simply instancing a managed version of those, versus for example calling their factory methods (SHA1.Create() or SHA256.Create())? Are they the same thing?

推荐答案

无法为您提供奇怪的 IntelliSense 问题的答案,但请查看 SHA1SHA1Managed 实现.SHA1 只是一个基类.在这种情况下,实现完全相同.它与FIPS 认证有关.托管版本不使用本机加密库,因此未经 FIPS 认证.有一个针对客户的注册表设置 (FipsAlgorithmPolicy),用于强制执行 FIPS 合规性.如果启用了注册表设置,则无法使用托管类.

Can't give you an answer for the weird IntelliSense problem but have a look at the SHA1 and SHA1Managed implementations. SHA1 is just a base class. The implementation is exactly the same in this case. It has something to do with the FIPS certification. Managed versions don't use the native crypto libraries and therefor are not FIPS certified. There is a registry setting (FipsAlgorithmPolicy) for customers which enforces FIPS compliance. If the registry setting is turned on you can't use the managed classes.

在您的情况下,如果您实例化 SHA1Managed 或使用 SHA1.Create() 没有任何区别.但如果您需要满足 FIPS 认证,这确实有所不同.

In your case it does not make any difference if you instanciate SHA1Managed or use SHA1.Create(). But it does make a difference if you need to meet the FIPS certification.

这篇关于为什么像 SHA1Managed、SHA256Managed 这样的类对我的 Intellisense 隐藏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆