From 2cd24ce2e20f59c2cfcb5dff63c8be4b0696e593 Mon Sep 17 00:00:00 2001 From: xb Date: Wed, 31 Jul 2024 16:36:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4XXTEA=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/xxtea/xxtea.cpp | 4 ++-- sources/xxtea/xxtea.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sources/xxtea/xxtea.cpp b/sources/xxtea/xxtea.cpp index 876a8fa9..015130ff 100644 --- a/sources/xxtea/xxtea.cpp +++ b/sources/xxtea/xxtea.cpp @@ -27,7 +27,7 @@ extern "C" { static void xxtea_long_encrypt(xxtea_long *v, xxtea_long len, xxtea_long *k) { xxtea_long n = len - 1; - xxtea_long z = v[n], y = v[0], p, q = 6 + 52 / (n + 1), sum = 0, e; + xxtea_long z = v[n], y = v[0], p, q = 7 + (n + 1) % 12, sum = 0, e; if (n < 1) { return; } @@ -46,7 +46,7 @@ static void xxtea_long_encrypt(xxtea_long *v, xxtea_long len, xxtea_long *k) static void xxtea_long_decrypt(xxtea_long *v, xxtea_long len, xxtea_long *k) { xxtea_long n = len - 1; - xxtea_long z = v[n], y = v[0], p, q = 6 + 52 / (n + 1), sum = q * XXTEA_DELTA, e; + xxtea_long z = v[n], y = v[0], p, q = 7 + (n + 1) % 12, sum = q * XXTEA_DELTA, e; if (n < 1) { return; } diff --git a/sources/xxtea/xxtea.h b/sources/xxtea/xxtea.h index 117d81ec..f069c654 100644 --- a/sources/xxtea/xxtea.h +++ b/sources/xxtea/xxtea.h @@ -52,8 +52,8 @@ typedef uint32_t xxtea_long; #endif /* end of if defined(_MSC_VER) */ -#define XXTEA_MX (z >> 5 ^ y << 2) + (y >> 3 ^ z << 4) ^ (sum ^ y) + (k[p & 3 ^ e] ^ z) -#define XXTEA_DELTA 0x9e3779b9 +#define XXTEA_MX (z >> 3 ^ y << 2) + (y >> 5 ^ z << 4) ^ (sum ^ y) + (k[p & 3 ^ e] ^ z) +#define XXTEA_DELTA 0xd38b681f XXTEA_DLL unsigned char *xxtea_encrypt(unsigned char *data, xxtea_long data_len, unsigned char *key, xxtea_long key_len, xxtea_long *ret_length); XXTEA_DLL unsigned char *xxtea_decrypt(unsigned char *data, xxtea_long data_len, unsigned char *key, xxtea_long key_len, xxtea_long *ret_length);