C# 加密-Managed 与 Provider

作者:vkvi 来源:ITPOW(原创) 日期:2008-8-20

在 System.Security.Cryptography 中,我们可以看到有许多类,有些类还很相似,比如:

  • System.Security.Cryptography.SHA1
  • System.Security.Cryptography.SHA1Managed
  • System.Security.Cryptography.SHA1CryptoServiceProvider

这三个类有什么关系呢?

SHA1抽象类SHA1ManagedSHA1CryptoServiceProvider 继承于 SHA1。

SHA1Managed 和 SHA1CryptoServiceProvider 有什么区别呢?

SHA1Managed 被写入了托管 .NET 语言(比如:C#、VB.NET);而 SHA1CryptoServiceProvider 是基于 Windows Crypto API 的,也就是说它是依赖于 Windows 中某个 DLL 的。据说后者性能要高些。

其他以 Managed 和 Provider 结尾的类也是上述道理。

相关文章