server/tools/gethash.c

27 lines
626 B
C
Raw Normal View History

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char **argv)
{
char key[4];
char code[4];
char result[4];
int a;
for (a = 1; a < argc; ++a) {
int rot, i;
const char *str = argv[a];
size_t len = strlen(str);
str = str + len - 6;
memcpy(key, str, 3);
memcpy(code, str + 3, 3);
result[3] = key[3] = code[3] = 0;
rot = atoi(key);
for (i = 0; i != 3; ++i) {
result[(i + rot) % 3] = ((code[i] + 10 - key[i]) % 10) + '0';
}
printf("%s %s\n", argv[a], result);
}
return 0;
}