X-Git-Url: https://www.flypig.org.uk/git/?p=hashcat.git;a=blobdiff_plain;f=OpenCL%2Fm00060_a3.cl;fp=OpenCL%2Fm00060_a3.cl;h=f1ced969b12722fc88fbb368861d32e9acfe228b;hp=75cdd6a7b894c9b9269eb342920ecd66da418c73;hb=90f59f98bc7e9baa437ffccd6b19c33972756b59;hpb=1fb52fb481f77756addfe2f80df54e83f5269a88 diff --git a/OpenCL/m00060_a3.cl b/OpenCL/m00060_a3.cl index 75cdd6a..f1ced96 100644 --- a/OpenCL/m00060_a3.cl +++ b/OpenCL/m00060_a3.cl @@ -13,6 +13,7 @@ #include "inc_types.cl" #include "inc_common.cl" #include "inc_simd.cl" +#include "mangle.cl" void md5_transform (const u32x w0[4], const u32x w1[4], const u32x w2[4], const u32x w3[4], u32x digest[4]) { @@ -277,7 +278,14 @@ void m00060m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl const u32x w0lr = w0l | w0r; - w0_t[0] = w0lr; + w0[0] = w0lr; + + u32x out_len = mangle(w0, w1, pw_len); + + append_0x80_2x4_VV (w0, w1, out_len); + + + w0_t[0] = w0[0]; w0_t[1] = w0[1]; w0_t[2] = w0[2]; w0_t[3] = w0[3]; @@ -285,13 +293,13 @@ void m00060m (u32 w0[4], u32 w1[4], u32 w2[4], u32 w3[4], const u32 pw_len, __gl w1_t[1] = w1[1]; w1_t[2] = w1[2]; w1_t[3] = w1[3]; - w2_t[0] = w2[0]; - w2_t[1] = w2[1]; - w2_t[2] = w2[2]; - w2_t[3] = w2[3]; - w3_t[0] = w3[0]; - w3_t[1] = w3[1]; - w3_t[2] = (64 + pw_len) * 8; + w2_t[0] = 0; + w2_t[1] = 0; + w2_t[2] = 0; + w2_t[3] = 0; + w3_t[0] = 0; + w3_t[1] = 0; + w3_t[2] = (64 + out_len) * 8; w3_t[3] = 0; u32x digest[4];