关于加密算法和效率的问题。 异或加密应该是最简单的加密了,其他算法应该都比它慢;但是lz每字节运算是不可取的,因为32位机器是4字节边界对齐,因此,可以使用long类型数据异或,并对目标数据在4字节边境开始运算 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以一次大块数据异或。选取合适大小的数据块来进行运算。来提升性能。aes等算法性能要慢的多 异或是最快的加解密算法了,无非注意在原始缓存数据上直接进行(指针操作)多大的数据?需要花上秒的时间处理?运算不应该成为瓶颈!你可能需要debug,判断每一步所用的时间如果数据块较大,应该采用适当的压缩算法 我还是要说,对现代计算机来说20秒是漫长的天文学时间,你的算法一定有大问题。异或运算占用的计算机cpu相当少,你应该开辟更大的缓冲区进行运算。 512 MB 的数据我每 4 字节一次异或也才用了 327 毫秒,每 2 字节一次异或 655 毫秒,每字节也才 1.2 秒,我想不明白你那20秒的数据量究竟有多大啊........ DWORD dwDataSize = (512 << 10) << 10; DWORD *pTest = (DWORD *)new BYTE[dwDataSize]; DWORD dwUsedTime = GetTickCount(); for (int i = 0; i < (dwDataSize / sizeof(DWORD)); i++) pTest[i] ^= 0xF0804020; TRACE1("Used time: %d\n", GetTickCount() - dwUsedTime); delete[] pTest; 如何在listctrl里显示背景透明的png? 关于Http通信的问题 注意!!!!!!!一定来看看!100分噢! 一个关于Heap的小问题? Socket4和Socket5 我想將cstring"10.132.226.24"中的"226."後面的字符串替換掉,,如何辦到呢? 有关DOS.h头文件的一个问题 招聘VC/MFC程序员。欢迎应届毕业生! 一个关于提示框的小问题,拿分机会哦! 求解求解:如何获得当前系统的用户名和密码?????? Windows api编程radio button消息处理 VC6 调用VS2008动态库时注意问题
aes等算法性能要慢的多
多大的数据?需要花上秒的时间处理?运算不应该成为瓶颈!你可能需要debug,判断每一步所用的时间
如果数据块较大,应该采用适当的压缩算法
异或运算占用的计算机cpu相当少,你应该开辟更大的缓冲区进行运算。
DWORD *pTest = (DWORD *)new BYTE[dwDataSize];
DWORD dwUsedTime = GetTickCount();
for (int i = 0; i < (dwDataSize / sizeof(DWORD)); i++)
pTest[i] ^= 0xF0804020;
TRACE1("Used time: %d\n", GetTickCount() - dwUsedTime);
delete[] pTest;