Compare commits
5 Commits
289d0db7eb
...
e7e42922b6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e7e42922b6 | ||
|
|
c0ed7ca721 | ||
|
|
08129fee79 | ||
|
|
fbbbef7da6 | ||
|
|
bba8c620bd |
@@ -1,12 +1,13 @@
|
|||||||
# Simple multithreaded UDP server
|
# Simple C++ multithreaded UDP server
|
||||||
|
|
||||||
[](README.md)
|
[](README.md)
|
||||||
[](README.md)
|
[](README.md)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
|
||||||
Simple multithreaded UDP server.
|
Simple C++ multithreaded UDP server.
|
||||||
The number of threads is determined by the number of CPU cores.
|
The number of threads is determined by the number of CPU cores.
|
||||||
JSON logging.
|
JSON logging.
|
||||||
|
XTea encryption functions.
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
|
|||||||
@@ -192,8 +192,7 @@ void stringCrypt(char *inout, int len, bool encrypt) // encrypt true - encrypt,
|
|||||||
xteaDecipher(32, (uint32_t*)(inout + (i * BLOCK_SIZE)), key);
|
xteaDecipher(32, (uint32_t*)(inout + (i * BLOCK_SIZE)), key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (len % BLOCK_SIZE != 0)
|
if (len % BLOCK_SIZE != 0) {
|
||||||
{
|
|
||||||
int mod = len % BLOCK_SIZE;
|
int mod = len % BLOCK_SIZE;
|
||||||
int offset = (len / BLOCK_SIZE) * BLOCK_SIZE;
|
int offset = (len / BLOCK_SIZE) * BLOCK_SIZE;
|
||||||
char data[BLOCK_SIZE];
|
char data[BLOCK_SIZE];
|
||||||
@@ -205,6 +204,5 @@ void stringCrypt(char *inout, int len, bool encrypt) // encrypt true - encrypt,
|
|||||||
xteaDecipher(32, (uint32_t*)data, key);
|
xteaDecipher(32, (uint32_t*)data, key);
|
||||||
}
|
}
|
||||||
memcpy(inout + offset, data, mod);
|
memcpy(inout + offset, data, mod);
|
||||||
cout << mod << endl;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user