我们需要为项目支付加密/解密API的费用 - AES> 256?
我不希望开发人员编写自己的加密/解密,即使使用内置的东西。很多机会出错。
链接到非常有价值的网站。
UPDATE 由于许多人已经说过这样的事实 - 如果你不熟悉加密技术并且弄错了小东西并且它被破坏了,那就很难理解......
我已经看到了答案,并且将从内置程序获得我们自己的加密/解密 - 但所有团队都需要进行同行评审。
有关信息,BlowFish.Net很好,并且比内置加密例程执行得更快,当你开始考虑将数据加密/解密到数据库时,可能会有一些大量的性能问题......
答案 0 :(得分:4)
“即使使用内置的东西”
它内置的原因是人们已经测试过,可靠的算法可用于实现标准,而不是可能没有的黑盒第三方API。什么是“出错的机会”?
也许您需要切换到Java,如果您对内置提供程序存在偏执,您可以随时选择使用第三方JSSE提供程序。
答案 1 :(得分:3)
Bouncy Castle是一个备受推崇且发展良好的.NET加密库,通常建议用于解决这些问题。但是使用System.Security.Cryptography Namespace有什么问题? - 它非常安全,速度非常快,不需要任何外部库。这是an example如何实现它。
哦,“使用内置的东西”意味着它不太可能出错。你的开发人员不会编写他们自己的类,只使用易于使用且经过严格测试的可用接口。此外,微软也会很好地支持“内置东西”,所以如果你想升级到C#4.0(或将来的C#5.0?)你可能根本不需要改变你的代码。
答案 2 :(得分:1)
如果你使用第三方库,你很可能会遇到同样的问题,这基本上归结为不理解加密的缺陷。
如果没有合理的理解,你很可能会在密钥管理或使用错误的初始化向量或密钥时犯错误。无论您是使用内置库(哪些都很好),还是第三方库,这些都是您需要了解的问题。
如果您对此感到担心,最好的建议可能是引进某人,或者更好 - 培训人们了解加密。
答案 3 :(得分:0)
使用内置'东西'。但请确保以正确的模式使用它。