Генерация хэша SHA на C++ с использованием библиотеки OpenSSL

У OpenSSL ужасный documentation без примеров cpp кода, но вот вы:

#include 

bool simpleSHA256(void* input, unsigned long length, unsigned char* md)
{
    SHA256_CTX context;
    if(!SHA256_Init(&context))
        return false;

    if(!SHA256_Update(&context, (unsigned char*)input, length))
        return false;

    if(!SHA256_Final(md, &context))
        return false;

    return true;
}

Использование:

unsigned char md[SHA256_DIGEST_LENGTH]; // 32 bytes
if(!simpleSHA256(, , md))
{
    // handle error
}

После cpp этого md будет содержать двоичный crypto дайджест сообщения SHA-256. Аналогичный crypto код можно использовать для crypto других членов семейства SHA, просто c++ замените в коде «256».

Если cpp у вас большие данные, вы, конечно, должны c++ загружать блоки данных по cxx мере их поступления (несколько cryptographic вызовов SHA256_Update).

c++

cryptography

2022-10-29T15:19:35+00:00