正如MSDN所记录的那样,许多不同的散列算法(例如MD5,SHA,RIPE)都有几个提供者.对于每种算法,任何可用的实现似乎都属于以下三类:
[Algo] Cng
[Algo] CryptoServiceProvider
[Algo] 管理
为什么有任何这些哈希算法的多个实现?
这些实现之间有什么区别?
选择在应用程序中使用哪种实现时有哪些实际差异?
参考文献:
http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx
[Algo]Managed
是算法的纯IL实现.
[Algo]CryptoServiceProvider
代表CAPI,它允许您使用硬件加密设备之类的东西.
[Algo]Cng
使用Cryptography API:Next Generation(CNG),旨在替代CAPI,但仅在Vista和Server 2008中受支持.