#include #include #define HEX(x) (((x) < 10)? (x)+'0': (x)-10+'a') /* * PARI/GP func: MD4 hash * * gp code: install("plug_md4", "s", "MD4", ""); */ GEN plug_md4(char *text) { char md[MD4_DIGEST_LENGTH]; char hash[sizeof(md) * 2 + 1]; int i; MD4((unsigned char*)text, strlen(text), (unsigned char*)md); for (i = 0; i < sizeof(md); i++) { hash[i+i] = HEX((md[i] >> 4) & 0x0f); hash[i+i+1] = HEX(md[i] & 0x0f); } hash[sizeof(md) * 2] = 0; return strtoGENstr(hash); }