diff options
author | Sergeanur <s.anureev@yandex.ua> | 2021-01-08 21:39:25 +0100 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2021-01-08 21:39:25 +0100 |
commit | de13141b68d00ab09300d9cfce271d633fea39cf (patch) | |
tree | ae18b1fa1c0beafe8ecb9c8949adaadcd99777d9 /src/core/KeyGen.cpp | |
parent | Merge branch 'miami' into lcs (diff) | |
download | re3-de13141b68d00ab09300d9cfce271d633fea39cf.tar re3-de13141b68d00ab09300d9cfce271d633fea39cf.tar.gz re3-de13141b68d00ab09300d9cfce271d633fea39cf.tar.bz2 re3-de13141b68d00ab09300d9cfce271d633fea39cf.tar.lz re3-de13141b68d00ab09300d9cfce271d633fea39cf.tar.xz re3-de13141b68d00ab09300d9cfce271d633fea39cf.tar.zst re3-de13141b68d00ab09300d9cfce271d633fea39cf.zip |
Diffstat (limited to 'src/core/KeyGen.cpp')
-rw-r--r-- | src/core/KeyGen.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/KeyGen.cpp b/src/core/KeyGen.cpp index c4652bd4..c54e390c 100644 --- a/src/core/KeyGen.cpp +++ b/src/core/KeyGen.cpp @@ -79,7 +79,7 @@ CKeyGen::GetKey(const char *str, int size) { uint32 key = 0xffffffff; for (int i = 0; i < size; i++) - key ^= keyTable[str[i]]; + key = keyTable[(key ^ str[i]) & 0xFF] ^ (key >> 8); return key; } @@ -88,7 +88,7 @@ CKeyGen::GetKey(const char *str) { uint32 key = 0xffffffff; while(*str != '\0') - key ^= keyTable[*(str++)]; + key = keyTable[(key ^ *(str++)) & 0xFF] ^ (key >> 8); return key; } @@ -97,7 +97,7 @@ CKeyGen::GetUppercaseKey(const char *str) { uint32 key = 0xffffffff; while (*str != '\0') - key ^= keyTable[toupper(*(str++))]; + key = keyTable[(key ^ toupper(*(str++))) & 0xFF] ^ (key >> 8); return key; } @@ -105,6 +105,6 @@ uint32 CKeyGen::AppendStringToKey(uint32 key, const char *str) { while (*str != '\0') - key ^= keyTable[*(str++)]; + key = keyTable[(key ^ *(str++)) & 0xFF] ^ (key >> 8); return key; }
\ No newline at end of file |