X-Git-Url: https://www.flypig.org.uk/git/?a=blobdiff_plain;f=salted.c;h=0d1dab0576dfe336bff59527a9f829913cd1d975;hb=fc0498ebf9d2479e9d620e96286dd7502ec781e5;hp=dadd650ac624535704b2871f655aeb750e592aaf;hpb=69b30aba94474d80e4fe3c0d210effd229edcede;p=pwdhash.git diff --git a/salted.c b/salted.c index dadd650..0d1dab0 100644 --- a/salted.c +++ b/salted.c @@ -48,7 +48,7 @@ u32x mangle_md5 (u32x w0[4], u32x w1[4], const u32x in_len) digest[2] = MD5M_C; digest[3] = MD5M_D; - md5_transform (w0_t, w1_t, w2_t, w3_t, digest); + md5_transform_cl (w0_t, w1_t, w2_t, w3_t, digest); u8 b64encoded[16]; @@ -93,10 +93,11 @@ u32x mangle_md5 (u32x w0[4], u32x w1[4], const u32x in_len) u32x mangle_hmac (u32x w0[4], u32x w1[4], const u32x in_len) { u32x out_len = in_len; + u32 digest[4]; u32 data[8]; u32 i; - + data[0] = w0[0]; data[1] = w0[1]; data[2] = w0[2]; @@ -105,14 +106,14 @@ u32x mangle_hmac (u32x w0[4], u32x w1[4], const u32x in_len) data[5] = w1[1]; data[6] = w1[2]; data[7] = w1[3]; - - md5hmac_cl("flypig.co.uk", strlen("flypig.co.uk"), (u8 *)data, in_len, (u8 *)digest); - printf("HMAC: "); - for (i = 0; i < 16; i++) { - printf("%x", ((u8 *)digest)[i]); - } - printf("\n"); + md5hmac_domain((u8 *)data, in_len, (u8 *)digest); + +// printf("HMAC: "); +// for (i = 0; i < 16; i++) { +// printf("%x", ((u8 *)digest)[i]); +// } +// printf("\n"); w0[0] = digest[0]; w0[1] = digest[1]; @@ -124,11 +125,12 @@ u32x mangle_hmac (u32x w0[4], u32x w1[4], const u32x in_len) w1[3] = 0; out_len = b64_encode ((u8 *)data, 16, (u8 *)w0); + //out_len = 8; - for (i = out_len; i < 32; i++) { - ((u8 *)data)[i] = 0; - } - + for (i = out_len; i < 32; i++) { + ((u8 *)data)[i] = 0; + } + w0[0] = data[0]; w0[1] = data[1]; w0[2] = data[2]; @@ -141,6 +143,13 @@ u32x mangle_hmac (u32x w0[4], u32x w1[4], const u32x in_len) return (out_len); } +void writeHexByte(unsigned char byte, unsigned char * hex) { + static char number[] = "0123456789abcdef"; + + hex[0] = number[(byte >> 4)]; + hex[1] = number[(byte % 16)]; +} + int main(int argc, char * argv[]) { unsigned char result[RESULT_MAX]; unsigned char salt[SALT_MAX]; @@ -170,15 +179,15 @@ int main(int argc, char * argv[]) { } salt[SALT_MAX - 1] = '\0'; - SPH_HashedPassowrd("hashcat", "flypig.co.uk", result); + //SPH_HashedPassowrd("hashcat", "flypig.co.uk", result); //mangle(password); - mangle_hmac ((u32x *)password, (u32x *)(password + 16), strlen(password)); + size = mangle_hmac ((u32x *)password, (u32x *)(password + 16), strlen(password)); //md5hmac(salt, password, digest); - md5hmac_cl(salt, strlen(salt), password, strlen(password), digest); + md5hmac_cl(salt, strlen(salt), password, size, digest); for (pos = 0; pos < DIGEST_SIZE; pos++) {