在其他一些文章中,我们会发现,还有以 Managed 结尾的类,比如:
这三个类有什么关系呢?
SHA1 是抽象类,SHA1Managed 和 SHA1CryptoServiceProvider 继承于 SHA1。
SHA1Managed 和 SHA1CryptoServiceProvider 有什么区别呢?
二者功能都一样。SHA1Managed 被写入了托管 .NET 语言(比如:C#、VB.NET);而 SHA1CryptoServiceProvider 是基于 Windows Crypto API 的,也就是说它是依赖于 Windows 中某个 DLL 的。后者性能要高些。
其他以 Managed 和 Provider 结尾的类也是上述道理。
下载连载文档:C# 常用散列算法与加解密算法使用