blob: 6b5b082ef7a800aa124d78af74679693605e9618 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char* username = "someusersomeusersomeuser";
char* magic = "_r <()<1-Z2[l5,^";
char* key = calloc(strlen(magic) + 1, sizeof(*magic));
if (key == NULL) return 1;
strcpy(key, magic);
size_t ulen = strlen(username);
size_t mlen = strlen(magic);
for (size_t i = 0; i < ulen; i++)
{
char tmp = username[i] ^ key[i % mlen];
tmp %= 0x19;
tmp += 0x41;
key[i % mlen] = tmp;
}
printf("%s\n%.4s-%.4s-%.4s-%.4s\n", username, key, key+4, key+8,key+12);
free(key);
return 0;
}
|