Ben*_*Ben 10 .net c# cryptography unmanaged managed
我对C#比较新,所以请耐心等待.我理解托管代码和非托管代码之间的基本区别.但是在使用某些方法时我仍然有点困惑.
例如,"管理"这个词在某些类名称结尾中是什么意思.这是否意味着他们是管理的而其他所有人都没有?例如,Aes和AesManaged或SHA512和SHA512Managed之间有什么区别?我知道你不能从托管类中派生出来,但这就是我所知道的.
还应该何时使用"Managed"classess,例如何时选择Aes而不是AesManaged?
(我已经在wikipedia(这里)上阅读了托管代码的基础知识,并且还找到了关于托管代码基础知识的很好的解释(这里)
谢谢你的时间和答案.
Han*_*ant 17
.NET中有两种加密包装器,名称以Managed结尾的类和名称以CryptoServiceProvider结尾的类.只有CryptoServiceProvider版本通过了FIPS 140-1认证.它们是Microsoft提交给美国商务部的本机代码的包装器,用于验证算法是否满足本文档中概述的安全要求.它们还要求操作系统安装这些本机库.只要您与美国政府机构或任何规定您的代码必须通过FIPS认证的实体签订合同,FIPS合规就是一件大事.
算法的托管版本使用托管代码编写,并且不依赖于本机加密API库.它们未通过 FIPS认证.您的客户可以使用一种注册表设置来强制执行FIPS合规性.Managed类在打开时会在构造函数中抛出异常.更多关于这篇博文的内容.
看看这个Remarks部分:
这是一个抽象类.这个类的唯一实现是SHA512Managed.
含义,SHA512(以及任何其他组合Method和MethodManaged)仅仅是描述合同的任何实施者必须fullfil,它本身不具有功能的基类.
在这种情况下SHA512Managed,只有一个实现 - 托管实现.可能有其他人在C或中使用实现C++.
| 归档时间: |
|
| 查看次数: |
1579 次 |
| 最近记录: |