在一个基于WebService和窗体的C#应用项目中,需要对传输数据做加密处理。在服务器端做加密解密处理时,还是希望找到一个轻量级的快速加密解密方法。下面给出了20个int字段的数据表(DataTable)的加密时间(毫秒),其中XOR是位取异或加密。步骤为:先对DataTable序列化获得字节数组,然后用XOR或DES加密字节数组,最后用Convert.ToBase64String() 获得结果字符串。DES和XOR的加密矢量均为8位。
记录数 序列化 XOR DES
---------------------------------------------------
1000 140 156 187
2000 265 296 390
5000 671 765 937
10000 1375 1500 2343
---------------------------------------------------
表中看出,XOR比DES速度快。事实上,XOR只多了个全字节数组扫描的时间和每个数的位取反时间。下表给出了记录数为5000和10000时,XOR加密矢量长度变化时的加密时间:
XOR加密矢量长 8 16 32 64 128-------------------------------------------------------------------------
5000条记录 734 718 703 718 718
10000条记录 1453 1453 1437 1437 1437
-------------------------------------------------------------------------
表中可以看出,XOR加密矢量长度变化时,加密时间变化不大。因此,如果使用XOR加密,且较长的加密矢量,破解的难度是比较大的。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。