Как это возможно?Я написал очень простой тест, чтобы продемонстрировать это:
vector<char> hash(SHA256_DIGEST_LENGTH);
SHA256_CTX sha256;
SHA256_Init(&sha256);
SHA256_Update(&sha256, "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu", strlen("abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"));
SHA256_Final(reinterpret_cast<unsigned char *>(hash.data()), &sha256);
В Windows 7 x64 значение хеша равно cf5b16a7 78af8380 036ce59e 7b049237 0b249b11 e8f07a51 afac4503 7afee9d1
.Это правильный.Как-то на Windows 10 x64 Corporate хеш составляет 23d7f2dc 23d7f2dc e9af6f64 e9af6f64 5542bb78 23d7f2dc e8e3a3d6 e9af6f64
!!!Почему OpenSSL предоставляет разные (и неправильные) версии хэша в Windows 10?