Все ли алгоритмы хеш-кода одного типа рассчитываются одинаково? - PullRequest
0 голосов
/ 11 февраля 2012

Мне просто интересно, все ли хеш-значения SHA256 рассчитываются одинаково. Например, если я передам входные данные в эту библиотеку, как показано ниже, как я могу воспроизвести этот же вывод с помощью другого хэш-алгоритма SHA256?

lib1_gf_InitializeHashInput();
lib1_gf_AddIntegerToHashInput(a);
lib1_gf_AddIntegerToHashInput(b);
lib1_gf_AddIntegerToHashInput(c);
lib1_gf_AddIntegerToHashInput(d);
lib1_gf_AddIntegerToHashInput(e);
lib1_gf_AddIntegerToHashInput(f);
lib1_gf_AddIntegerToHashInput(g);
lib1_gf_AddIntegerToHashInput(h);
lib1_gf_AddIntegerToHashInput(i);
string HASHCODE = lib1_gf_GenerateSHA256HashCode();

void lib1_gf_AddIntegerToHashInput (int lp_integer) {
    lib1_gf_AddByteToHashInput(lp_integer);
    lib1_gf_AddByteToHashInput(lp_integer >> 8);
    lib1_gf_AddByteToHashInput(lp_integer >> 16);
    lib1_gf_AddByteToHashInput(lp_integer >> 24);
}

void lib1_gf_AddByteToHashInput (byte lp_byte) {
    HashInputData[HashInputSize] = lp_byte;
    HashInputSize += 1;
}

Вот ссылка на lib (да, это как sha256, так и md5): http://www.sc2mapster.com/assets/md5-hash/

Прямая ссылка для скачивания: http://www.sc2mapster.com/media/files/541/355/Hash_lib.SC2Lib

Ответы [ 2 ]

1 голос
/ 11 февраля 2012

Короткий ответ - да, но это слишком коротко, спасибо, ТАК. SHA256 - это спецификация для конкретного алгоритма, которая всегда должна представлять одинаковые результаты для одного и того же ввода, независимо от того, чью реализацию вы используете.

0 голосов
/ 11 февраля 2012

SHA256 алгоритм один.

Итак, да, хеш SHA256 вычисляется всегда одинаково.

Обратите внимание, что исходный код алгоритма генерации хеша SHA256 (и других SHA) здесь .

...