staticvoid TEA_transform(unsignedint buf[4], unsignedintconst in[])
{
__u32 sum = 0;
__u32 b0 = buf[0], b1 = buf[1];
__u32 a = in[0], b = in[1], c = in[2], d = in[3]; int n = 16;
do {
sum += DELTA;
b0 += ((b1 << 4)+a) ^ (b1+sum) ^ ((b1 >> 5)+b);
b1 += ((b0 << 4)+c) ^ (b0+sum) ^ ((b0 >> 5)+d);
} while (--n);
buf[0] += b0;
buf[1] += b1;
}
staticvoid str2hashbuf(constunsignedchar *msg, size_t len, unsignedint *buf, int num)
{ unsigned pad, val; int i;
pad = (__u32)len | ((__u32)len << 8);
pad |= pad << 16;
val = pad; if (len > num * 4)
len = num * 4; for (i = 0; i < len; i++) { if ((i % 4) == 0)
val = pad;
val = msg[i] + (val << 8); if ((i % 4) == 3) {
*buf++ = val;
val = pad;
num--;
}
} if (--num >= 0)
*buf++ = val; while (--num >= 0)
*buf++ = pad;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.