С тем же байтовым массивом результат выполнения контрольной суммы с использованием класса SHA512Managed в .NET Core 3.0 отличается от результата использования встроенного приложения shasum в MacOS.
У меня тройной-проверенный байтовый массив является неизменным / идентичным путем итерации по каждой позиции байта с использованием File.ReadAllBytes ().
Процесс в коде:
var stream = asm.GetManifestResourceStream(resourceName);
var data = new byte[stream.Length];
stream.Read(data, 0, (int)stream.Length);
var sha = new SHA512Managed();
var checksum = sha.ComputeHash(data);
В командной строке:
shasum -a512 ./myfile.dat
Я получаю хорошее (ожидаемое) значение контрольной суммы из утилиты shasum, приложения iHex из AppStore и веб-сайта "passwordsgenerator.net/sha512-hash-generator/".
Я получаю неверное значение из кода .NET выше и с другого сайта "online-convert.com".Оба из них дают одинаковый плохой результат!
Существует ли более одной реализации алгоритма SHA512?Поскольку я сравниваю байтовые массивы, не должно быть чепухи, связанной с кодировкой символов, верно?Есть ли что-то о компиляции или чтении встроенного ресурса в MacOS, о котором я должен знать?
Буду признателен за любые советы или указатели!