Por que existem vários provedores diferentes de algoritmo de hashing em System.Security.Criptografia?
-
03-07-2019 - |
Pergunta
Conforme documentado por Msdn, existem vários fornecedores para muitos dos diferentes algoritmos de hash (por exemplo, MD5, SHA, maduro). Para cada um dos algoritmos, qualquer implementação disponível parece se enquadrar em 1 de 3 categorias:
- AlgoCNG
- AlgoCryptoserviceProvider
- AlgoGerenciou
Por que existem várias implementações de algum desses algoritmos de hash?
Quais são as diferenças entre as implementações?
Quais são as diferenças práticas ao escolher qual implementação utilizar em um aplicativo?
Referências:
http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx
Solução
[Algo]Managed
é uma implementação pura do algoritmo.[Algo]CryptoServiceProvider
Delegados ao CAPI, que permite usar coisas como dispositivos de criptografia de hardware.[Algo]Cng
Usa a API de criptografia: Next Generation (GNV), projetada para substituir o CAPI, mas é suportada apenas no Vista e no Server 2008.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow