Форум программистов, компьютерный форум, киберфорум
Криптография
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 1
Регистрация: 16.11.2021
Сообщений: 40

SHA256 OpenSSL C++

11.06.2022, 00:49. Показов 479. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите может кто сталкивался, есть взятие функции от текста (это у меня получилось реалзовать), а есть как от 16-ричных чисел. Пример есть в онлайн-конверторе, там есть переключатель text/hex. Так вот собственно вопрос - как реализовать функцию с hex-входными данными? Когда на вход подается что-то типа "16E05C44074AC11B48D94085D0A99F0877DD1C6 F76FD0DAC4BB50964E387D6065B87A2D430E1AD5 E2596F0AF2417ADC6E138318C6F767FBF8B0682B FC8"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2022, 00:49
Ответы с готовыми решениями:

Алгоритм хеширования SHA256
Помогите разобраться Например есть случайная строка из 64 символов, символы это цифры 0-9 и буквы a-f. Что делает алгоритм хеширования...

UBLOX (GPS) + SHA256
у кого есть познания по работе с протоколом UBLOX( GPS) и его криптографией? есть ГПС UBLOX чип M8N он шлет шифрованный поток...

Хэш SHA256 (doublesha). Возможно ли?
Всем привет ребят! Прошу знатоков тематики дать ответ на следующий вопрос: есть формула: hash = SHA256(SHA256(firstnumber +...

1
3 / 3 / 1
Регистрация: 16.11.2021
Сообщений: 40
11.06.2022, 09:44  [ТС]
Нашел решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <vector>
#include <string>
 
#include <openssl/evp.h>
#include <openssl/sha.h>
#include <openssl/crypto.h>
 
int main()
{
    std::string strHex = "616161616161616"; // get this from wherever
 
    // prepend zero-nibble for odd character counts.
    if (strHex.length() % 2)
        strHex.pop_back();
 
    // convert to blob. returns dynamic memory allocated with
    //  OPENSSL_malloc. Use OPENSSL_free to destroy it.
    long len = 0;
    unsigned char *bin = OPENSSL_hexstr2buf(strHex.c_str(), &len);
 
    // digest the blob
    const EVP_MD *md_algo = EVP_sha256();
    unsigned int md_len = EVP_MD_size(md_algo);
    std::vector<unsigned char> md( md_len );
    EVP_Digest(bin, len, md.data(), &md_len, md_algo, nullptr);
 
    // free the input data.
    OPENSSL_free(bin);
 
    // print the buffer to stdout in hex.
    char *hexOut = OPENSSL_buf2hexstr(md.data(), md_len);
    std::cout << hexOut << '\n';
    OPENSSL_free(hexOut);
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2022, 09:44
Помогаю со студенческими работами здесь

Не получается понять алгоритм биткоина при понятном SHA256
Доброго всем. Я начинающий С++. Первый проект (рабочий) - реализовал функцию SHA256 для сообщений до 441 бита. Теперь пытаюсь победить...

Openssl не находит config файл
скачал openssl запускаю пишет что не может открыть файл openssl.cnf по пути c:\openssl (потомучто его нет). А он есть в c:\openssl\bin....

OPENSSL - как зашифровать текстовый файл
Всем привет. Для универа сделал свою реализацию отечественного стандарта гост. 34.12.2018. Алгоритм &quot;Магма&quot; и в этом стандарте...

Шифрование и дешифровка AES через OpenSSL
Всем привет. Попытался применить для шифрования следующий код: unsigned char* plaintext = (unsigned...

OpenSSL ошибка bad magic number при расшифровке AES-256-CBC
У меня есть файл file.bin с вот таким содержимым: —рSu©€њqCQb8?x¶8чm оYЋxй%“+ЛД‚!њеЪГ.MxР+&gt;XИ§шч И есть ключ: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru