MIXCHARS
for (i = plaintext_len; i > MIXCHARS; i -= MIXCHARS)
DIGESTUpdate(&ctxA, B, MIXCHARS);
DIGESTUpdate(&ctxA, B, MIXCHARS);
for (i = plaintext_len; i >= MIXCHARS; i -= MIXCHARS) {
Pp = (char *)(memcpy(Pp, DP, MIXCHARS)) + MIXCHARS;
for (i = salt_len; i >= MIXCHARS; i -= MIXCHARS) {
Sp = (char *)(memcpy(Sp, DS, MIXCHARS)) + MIXCHARS;
DIGESTUpdate(&ctxC, A, MIXCHARS);
DIGESTUpdate(&ctxC, DP, MIXCHARS);
DIGESTUpdate(&ctxC, A, MIXCHARS);
DIGESTUpdate(&ctxC, DP, MIXCHARS);