推荐的.NET加密库

时间:2009-07-24 21:54:09

标签: c# .net encryption

post Jeff Atwood或多或少地得出结论认为我们致命的开发人员不应该过多地参与加密之后({3}}之后,我想知道我应该使用哪个库。我发现只有两个看似合法的库是entlib和Bouncy Castle,但它们对我来说似乎不比.NET加密API更具抽象性。

我想我想知道的是,是否存在一个简单,广泛信任,开放且记录良好的“jQuery加密库”。

4 个答案:

答案 0 :(得分:21)

编辑:以下是来自https://github.com/quozd/awesome-dotnet/blob/master/README.md#cryptography的热门加密库的完整列表:

  • BouncyCastle - 与.Net System.Security.Cryptography一起,CLR上加密算法的参考实现。
  • HashLib - HashLib是几乎所有哈希算法的集合,它几乎支持所有内容并且非常易于使用
  • libsodium-net - libsodium for .NET - 一个安全的加密库
  • Pkcs11Interop - 用于提供对加密硬件的访问的非托管PKCS#11库的托管.NET包装器
  • StreamCryptor - 流加密&用libsodium和protobuf解密
  • SecurityDriven.Inferno - .NET加密库。专业审计。

原始答案如下。


Bouncy Castle库确实是一个备受尊重且成熟的加密库,但是使用.NET框架中内置的许多出色的加密函数有什么问题?

System.Security.Cryptography Namespace

根据我的经验,这些实现是坚如磐石的,提供了许多选项(例如:您通常有Crypto APICNG和每个算法的托管实现可供选择),以及你不会“弄错”,因为你只是使用实现。如果您有点担心错误地使用,可以随时关注MSDN's own example code

答案 1 :(得分:8)

你完全误解了格言“不要自己实施加密程序”。这意味着:不要滚动自己的RSA / DSA /任何加密算法。这并不意味着你不应该使用知道自己在做什么的人写的。事实上,如果有的话,在你和可信算法之间添加更多层会伤害你,而不是反过来。

答案 2 :(得分:6)

Bouncy Castle似乎受到广泛尊重

答案 3 :(得分:1)

EntLib Cryptography块适用于大多数加密/散列需求。