#include #include #include unsigned char pad[64]; unsigned int pwarray[128]; void bswap_buf (unsigned int *in, unsigned int *out, int len); void A(unsigned char *psw, int len) { int i; memset(pad, 0x36, 64); for (i = 0; i < len; i++) pad[i] ^= psw[i]; bswap_buf((unsigned int *)pad, pwarray, 64); } int main() { unsigned char psw[128]; scanf("%s", psw); A(psw, (int)strlen (psw)); printf ("%x %x %x %x", pwarray[0], pwarray[1], pwarray[2], pwarray[3]); return 0; } void bswap_buf (unsigned int *in, unsigned int *out, int len) { int i; for (i=0; i < len /4; i++) out[i] = _byteswap_ulong(in[i]); }