请教熟悉 XXTEA 加密解密的朋友

KaKaKaKa 2012-05-21 03:49:07

#include "stdio.h"
#include "windows.h"

#define MX (z>>5^y<<2) + (y>>3^z<<4)^(sum^y) + (k[p&3^e]^z);

long btea(long* v, long n, long* k) {
unsigned long z=v[n-1], y=v[0], sum=0, e, DELTA=0x9e3779b9;
long p, q ;
if (n > 1) { /* Coding Part */
q = 6 + 52/n;
while (q-- > 0) {
sum += DELTA;
e = (sum >> 2) & 3;
for (p=0; p<n-1; p++) y = v[p+1], z = v[p] += MX;
y = v[0];
z = v[n-1] += MX;
}
return 0 ;
} else if (n < -1) { /* Decoding Part */
n = -n;
q = 6 + 52/n;
sum = q*DELTA ;
while (sum != 0) {
e = (sum >> 2) & 3;
for (p=n-1; p>0; p--) z = v[p-1], y = v[p] -= MX;
z = v[n-1];
y = v[0] -= MX;
sum -= DELTA;
}
return 0;
}
return 1;
}




//以下测试XXTEA加密和解密功能
int main()
{
long ret = 0;

TCHAR a[11] = TEXT("XXTEA测试字符串");
long k[4] = {111,222,333,444};

//加密
ret = btea((long *)a,10,k);
printf("En:%ld %s\n",ret,a);

//解密
ret = btea((long *)a,-10,k);
printf("De:%ld %s\n",ret,a);


getchar();
return 0;
}


上面那段是XXTEA的源码,没有啥问题

在main函数里是测试XXTEA的加密和解密过程

我想对 "XXTEA测试字符串" 加密和解密

发现不行

请教熟悉XXTEA加密解密的朋友
...全文
144 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
KaKaKaKa 2012-05-22
  • 打赏
  • 举报
回复
难道只能对32bit的数据加密?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧