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

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

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

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

Необходимо вычислить 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2009, 11:34
Ответы с готовыми решениями:

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

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

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

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

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

Добавлено через 1 час 20 минут
Open SSL
0
10.11.2012, 23:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2012, 23:15
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru