.net - net - sha512cryptoserviceprovider example
¿Por qué hay múltiples proveedores de algoritmos de hashing en System.Security.Cryptography? (1)
Según lo documentado por MSDN , existen varios proveedores para muchos de los diferentes algoritmos hash (por ejemplo, MD5, SHA, RIPE). Para cada uno de los algoritmos, cualquier implementación disponible parece pertenecer a 1 de 3 categorías:
- [Algo] Cng
- [Algo] CryptoServiceProvider
- [Algo] Administrado
¿Por qué hay múltiples implementaciones de cualquiera de estos algoritmos hash?
¿Cuáles son las diferencias entre las implementaciones?
¿Cuáles son las diferencias prácticas al elegir qué implementación utilizar en una aplicación?
Referencias
http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx
-
[Algo]Managed
es una implementación de IL puro del algoritmo. -
[Algo]CryptoServiceProvider
delega en CAPI, lo que le permite usar cosas tales como dispositivos criptográficos de hardware. -
[Algo]Cng
usa Cryptography API: Next Generation (CNG), que está diseñado para reemplazar a CAPI, pero solo es compatible con Vista y Server 2008.