Существует приложение C++, которое генерирует контрольную сумму SHA-1 перед загрузкой файла.
Код: Выделить всё
std::string generate_checksum(const std::string& file_path) {
std::string test_file_path = file_path;
std::ifstream file(test_file_path, std::ios::binary);
if (!file) {
throw std::runtime_error("Cannot open file for checksum.");
}
SHA_CTX sha1;
SHA1_Init(&sha1);
char buffer[8192];
while (file.read(buffer, sizeof(buffer))) {
SHA1_Update(&sha1, buffer, file.gcount());
}
unsigned char hash[SHA_DIGEST_LENGTH];
SHA1_Final(hash, &sha1);
std::ostringstream result;
for (int i = 0; i < SHA_DIGEST_LENGTH; ++i) {
result
Подробнее здесь: [url]https://stackoverflow.com/questions/79052536/mistmatching-checksums-between-cpp-client-and-cloudflare-worker[/url]