我想过使用一个相对较大(大约1MB)的xor pad,它将在运行时计算出来.我认为二进制结合xor的自定义文件设计应该提供相对较好的安全性和速度.但是现在我开始考虑使用更强大的东西,如果它仍然足够快,可能是AES(可能是.NET实现:Rijindael或Serpent或Twofish).那么您认为最好的是什么?在这种情况下,其他公司/开发人员通常会使用什么? AES有多快/慢? I / O *** 作已经很慢了,我不知道AES是否会使事情变得更糟或者甚至不会被注意到.
或者你可能有一些关于如何足够快地加密数据的其他想法?
附:我知道,如果有人成功(!)调试或反汇编代码,他可以解密数据.
编辑:我只是为客户开发自定义应用程序,所以我不能强迫他们拥有更好的硬件,我可以推荐更好的硬件.我的软件将主要由3部分组成,POS,服务器和某种管理器.如果你认为我的第一个想法(某种类型的xor)是无用的并且我应该使用更好的加密,请至少尝试估计哪种硬件(最小)会提供所需的结果(“足够快”=解密不应该对数据显示的影响,例如,如果加载数据需要1秒并在datagrIDvIEw中显示它,则解密时不应超过1,2-1,3s.
解决方法security comes second
不要决定速度和安全性.尽量让他们两个!
像Blowfish或Rijndael / AES这样的加密算法非常高效(see).绝对投资更好的硬件!您的服务器设置并不是最先进的.实际上我的笔记本电脑比你的服务器设置更强大;)
Hardware is much cheaper than developer hours.坚持使用标准和经过批准的加密技术!如果你的硬件是最先进的,并且你在加密/解密过程中仍然面临着瓶颈,那么就是时候摧毁你的大脑了.不是之前.
只需2美分.
更新
绝对建议您的客户购买更好的硬件.我真的不能给你一个“硬件就足够了”的答案,因为你没有真正指定哪种速度可以接受哪种数据加密/解密(这真的很难回答,因为它取决于这么多因素).我建议您(或您的公司)租用硬件来使用标准加密技术进行性能测试.找到具有满足其需求的良好性能的适当硬件设置后,请向您的客户提供这些性能测量.
总结以上是内存溢出为你收集整理的c# – 对大量数据进行最佳加密(速度至关重要)?全部内容,希望文章能够帮你解决c# – 对大量数据进行最佳加密(速度至关重要)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)