#include #include #include 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; }