Как грамотно реализовать SHA-2 на с++? Доброго времени суток, %username% ! Нужна твоя помощь!
Я являюсь студентом второго курса и тема моей курсовой работы: " Реализация хэш-функций SHA-2 (256,384,512) на языке С++. "
Как ты понимаешь, уровень познаний программирования достаточно посредственный в данном контексте, иначе не обращался бы к тебе. Уж так сложилось, что не преподавали нам "Программирование криптопримитивов" и прочего.
Но я вполне четко осознаю, что полным-полно существует разнообразных готовых решений.
Может быть ты можешь подсказать открытые библиотеки с готовыми примитивами или поделится своими исходными кодами? Буду тебе очень благодарен!

21 Авг 2019 в 07:14
206 +1
0
Ответы
1

Привет! Конечно, я могу помочь тебе с этим вопросом. Для реализации хэш-функций SHA-2 на языке C++ тебе, возможно, будет удобно использовать библиотеку OpenSSL, которая предоставляет широкий спектр криптографических функций, включая реализации SHA-2.

Вот пример кода, как использовать OpenSSL для создания хеша SHA-256:

#include <openssl/sha.h>
#include <iostream>
#include <iomanip>
#include <sstream>
std::string sha256(const std::string str)
{
unsigned char hash[SHA256_DIGEST_LENGTH];
SHA256_CTX sha256;
SHA256_Init(&sha256);
SHA256_Update(&sha256, str.c_str(), str.size());
SHA256_Final(hash, &sha256);
std::stringstream ss;
for(int i = 0; i < SHA256_DIGEST_LENGTH; i++)
{
ss << std::hex << std::setw(2) << std::setfill('0') << (int)hash[i];
}
return ss.str();
}
int main()
{
std::string input = "Hello, World!";
std::string hashed = sha256(input);
std::cout << "SHA-256 hash of 'Hello, World!': " << hashed << std::endl;
return 0;
}

Если тебе необходима реализация других версий SHA-2 (384, 512), то можешь посмотреть документацию OpenSSL или использовать аналогичным образом функции для этих версий.

Надеюсь, это поможет тебе в выполнении работы. Удачи! Если у тебя будут еще вопросы, не стесняйся задавать.

20 Апр в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир