MD5 вычисление

В алгоритме вычисления md5 есть функция

// decodes input (unsigned char) into output (uint4). Assumes len is a multiple of 4.
void MD5::decode(uint4 output[], const uint1 input[], size_type len)
{
for (unsigned int i = 0, j = 0; j < len; i++, j += 4)
output[i] = ((uint4)input[j]) | (((uint4)input[j+1]) << 8) |
(((uint4)input[j+2]) << 16) | (((uint4)input[j+3]) << 24);
}

Почему бы просто не скопировать с помощью memcpy? Это из-за возможных разных порядков байтов на разных машинах?

0

Решение

Правильно, это вещь в порядке байтов. Это эквивалентно прямой копии в системах с прямым порядком байтов, но заканчивается обращением байта в порядке с прямым порядком байтов.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]