Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/50: Рейтинг темы: голосов - 50, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 3

OpenSSL подключение и использование

11.12.2009, 11:34. Показов 10037. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте.

Необходимо вычислить MD2 и MD4 хеши файлов.
Решил воспользоваться OpenSSl.
1.скачал с http://www.slproweb.com/products/Win32OpenSSL.html бинарники OpenSSL.
2.скопировал папку openssl в include builder-а
3.c помощью impliba получил из dll libeay32.lib, libssl32.lib и ssleay32.lib и подключил их к проекту
4. подключаю библиотеки (делаю расчет md5 по примеру)

C++
1
2
3
4
5
6
7
8
#include <openssl/md5.h>
#include <openssl/evp.h>
 
#include <io.h>
#include <fcntl.h>
#include <time.h>
 
#define BUFSIZE (1025*16)
5. пытаюсь использовать
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
38
39
40
41
42
43
44
45
46
47
48
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 char* fname="c:\\text.txt";
 
//далее немного модифицированный пример из документации
 
unsigned char buf[BUFSIZE];
 
 EVP_MD_CTX mdctx; /* контекст для вычисления хэша */
const EVP_MD * md; /* структура с адресами функций
алгоритма */
unsigned char md_value[EVP_MAX_MD_SIZE];
unsigned int md_len; /* размер вычисленного хэша */
/* В командной строке передаем имя файла,
для которого вычисляется хэш */
 
//здесь я передаю файл явно
int inf = open(fname, O_RDWR);
 
/* Добавляем алгоритмы хэширования во внутреннюю
таблицу библиотеки */
OpenSSL_add_all_digests();
/* Получаем адреса функций алгоритма MD5 и инициализируем
контекст для вычисления хэша */
md = EVP_get_digestbyname("md4");
EVP_DigestInit(&mdctx, md);
/* Вычисляем хэш */
for(;;) {
int i = read(inf, buf, BUFSIZE);
if(i <= 0) break;
EVP_DigestUpdate(&mdctx, buf, (unsigned long)i);
}
/* Копируем вычисленный хэш в выходной буфер.
Размер хэша сохраняем в переменной md_len */
EVP_DigestFinal(&mdctx, md_value, &md_len);
/* Очищаем контекст */
EVP_MD_CTX_cleanup(&mdctx);
 
//здесь немного переделал для вывода полученного результата в message
String dest;
for(int i=0; i<16; i++)
{
unsigned char s = md_value[i];
dest += IntToHex(s,2);
}
 
ShowMessage("md5="+dest);
}
Вопросы:
1. При компиляции выдается ошибка: [C++ Error] types.h(45): E2316 'time_t' is not a member of 'std'

2. Верно ли я заменил функцию отображения результата

C++
1
for(i = 0; i < md_len; i++) printf("%02x", md_value[i]);
на
C++
1
2
3
4
5
6
for(int i=0; i<16; i++)
{
unsigned char s = md_value[i];
dest += IntToHex(s,2);
}
ShowMessage("md5="+dest);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2009, 11:34
Ответы с готовыми решениями:

Использование OpenSSL - нужны примеры
Всем Добрый день! Хочу попробовать написать IMAP клиент. С imap.yandex.ru на порту 143 все идет хорошо, SSL не нужен. А вот с...

Подключение библиотеки OpenSSL для QT 5.2.1
Помогите, ни как не могу найти статью статью по подключению библиотеки OpenSSL для QT 5.2.1...Если у кого что есть скиньте пожалуйста....

WinSock+OpenSSL подключение к SMTP
И так значит делфу знаю давно, а вот с сетями типо WinSock до этого не работал. Подключение без SSL разобрался, подключаюсь к smtp.mail.ru,...

4
 Аватар для ftp13
3 / 3 / 2
Регистрация: 18.10.2012
Сообщений: 101
26.10.2012, 13:55
не по вашему вопросу, я только начинаю с openssl работать вы где нашли манулы(и они на русском?) и не покажите как вы их подключили к проекту?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.10.2012, 14:14
3.c помощью impliba получил из dll libeay32.lib, libssl32.lib и ssleay32.lib и подключил их к проекту
Лучше использовать coff2omf https://www.cyberforum.ru/blog... og478.html
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
26.10.2012, 14:17
Подключать openssl для хэширования?
Попробуйте CryptoAPI, оно всяко больше в тему
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.11.2012, 23:15
А где собственно взять хедеры я чет их там на сайте не нашел
C++
1
2
#include <openssl/md5.h>
#include <openssl/evp.h>
И другие ?

Добавлено через 1 час 20 минут
Open SSL
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2012, 23:15
Помогаю со студенческими работами здесь

Использование библиотеки openssl для шифровки и расшифровки сообщения по алгоритму Camellia
Здравствуйте, никак не могу разобраться с библиотекой openssl. Для начала надо зашифровать сообщение по алгоритму Camellia. Функции с таким...

Подключение библиотеки и использование на C++
Здравствуйте ! подскажите пожалуйста , как подключить библиотеку opengl or directx к с++ builder у меня установлена с++ builder xe3 . ...

Подключение и использование PDO
Здравствуйте, не могли бы немного растолковать мне, я много читал про pdo но не нашел толкового ответа, в общем как я понял pdo встроен в...

Подключение и использование FindFirstFileEx
Собственно сам вопрос! Как подключить данную функцию в виндовс форм? Как использовать? На мсдн не отправлять там только под mfc. Уже весь...

Подключение и использование *dds в проекте
Добрый вечер.У меня есть файлы формата dds.Мне нужно сделать так,чтобы эти файлы могли использоваться в моём проекте(т.е. их нужно...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru