在被警告我的简单旋转加密对我的游戏来说还不够之后,我决定四处寻找一些好的,简单的替代品。我找到了一个简单的TEA示例here我将它插入到我的游戏引擎中。
void encipher(unsigned long *const v,unsigned long *const w,
const unsigned long *const k)
{
register unsigned long y=v[0],z=v[1],sum=0,delta=0x9E3779B9,
a=k[0],b=k[1],c=k[2],d=k[3],n=32;
while(n-->0)
{
sum += delta;
y += (z << 4)+a ^ z+sum ^ (z >> 5)+b;
z += (y << 4)+c ^ y+sum ^ (y >> 5)+d;
}
w[0]=y; w[1]=z;
}
我尝试在其中插入一些数字,但会弹出一个错误:
Cast loses const qualifier
想知道如果有人知道这意味着什么?
答案 0 :(得分:0)
这是错误的:
unsigned long *const v
请改用:
unsigned long const *v