Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2009, 00:45   #1
DeniCPP
 
Аватар для DeniCPP
 
Регистрация: 04.04.2009
Сообщений: 9
Сообщение Считаем md5 сумму файла

Здравствуйте уважаемые программисты. Хочу написать программу, определяющую контрольную сумму md5 файла, или текста.
На разных форумах искал информацию, ничего не помогало, компилировал, выводило какие то ерроры. Уже неделю гугл мучаю, так и не нашел решение проблемы.

Пользуюсь Borland C++ Builder 2007
Пробовал использовать готовую функцию определения md5 отсюда: http://www.md5hashing.com/c++/
Вылезает еррор: [BCC32 Error] Unit4.cpp(35): E2451 Undefined symbol 'md5'
Что я не так делаю?
Вот исходник программы:
PHP код:
#include <vcl.h>
#pragma hdrstop
#include "md5wrapper.h"
#include "Unit4.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponentOwner)
    : 
TForm(Owner)
{
}
//---------------------------------------------------------------------------

int mainint argcchar** argv )
{
    
// creating a wrapper object
    
md5wrapper md5;

    
// create a hash from a string
    
std::string hash1 md5.getHashFromString("Hello World");

    
// create a hash from a file
    
std::string hash2 md5.getHashFromFile("readme.txt");


}
void __fastcall TForm4::Button1Click(TObject *Sender)
{
Edit1->Text=md5.getHashFromString("Hello World");

Талант – это желание работать, а во-вторых, работоспособность.

Последний раз редактировалось DeniCPP; 04.04.2009 в 13:30.
DeniCPP вне форума Ответить с цитированием
Старый 04.04.2009, 11:40   #2
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Скачал с указанного адреса файлы
немного пришлось подправить md5wrapper.cpp и повозиться с Unicode при тесте.
(использовал Borland C++ Builder 2009 и пишу в основном в Delphi )
у меня заработала CB2009.ZIP
Твоя ошибка, возможно, что не скачал md5.h и md5.cpp или не добавил их в путь видимости.
s.Creator вне форума Ответить с цитированием
Старый 04.04.2009, 16:28   #3
DeniCPP
 
Аватар для DeniCPP
 
Регистрация: 04.04.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от s.Creator Посмотреть сообщение
Скачал с указанного адреса файлы
немного пришлось подправить md5wrapper.cpp и повозиться с Unicode при тесте.
(использовал Borland C++ Builder 2009 и пишу в основном в Delphi )
у меня заработала Вложение 10238
Твоя ошибка, возможно, что не скачал md5.h и md5.cpp или не добавил их в путь видимости.
Я скачал все 4 файла:
md5wrapper.h
md5wrapper.cpp
md5.h
md5.cpp

Поместил их в папку с проектом, и как сказанно в инструкции подключил к программе md5wrapper.h:
#include "md5wrapper.h"
Или что то нужно было еще сделать?
У меня в 2007 билдере не открылся твой проект, а отдельно с файлами что то не получается колдавать, ерроры вылазят... Попробую 2009 билдер скачать и поставить
Талант – это желание работать, а во-вторых, работоспособность.
DeniCPP вне форума Ответить с цитированием
Старый 04.04.2009, 17:37   #4
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Попробуй так:
возьми файлы из того что я выложил из папки md5_c и скопируй в папку своего проекта ( не ппапку а именно файлы из нее ) и по идее должно заработать с тем что у тебя
Код:
#include "md5wrapper.h"
если как я делал (в другой папке) то оба файла (*.h) добавлял в проект с помощью кнопок.
s.Creator вне форума Ответить с цитированием
Старый 04.04.2009, 21:07   #5
DeniCPP
 
Аватар для DeniCPP
 
Регистрация: 04.04.2009
Сообщений: 9
По умолчанию

Сделал как ты сказал, вообщем ничего особо и не изменилось. Тот же еррор на строке:
Edit1->Text=md5.getHashFromString("Hell o World");
Как только стираю эту строку, все нормально, ерроров нет.
Может нельзя так писать... Как значение хеша добавить в переменную или как то вывести?
Талант – это желание работать, а во-вторых, работоспособность.
DeniCPP вне форума Ответить с цитированием
Старый 04.04.2009, 21:23   #6
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

в 2009 мне пришлось написать
Код:
std::string hash1 = md5.getHashFromString("Hello World");
	this->Caption = String(hash1.c_str());
но ошибку говорило до этого что не может преобразовать в юникод
какая у тебя ошибка и код в тестовом приложении?
s.Creator вне форума Ответить с цитированием
Старый 04.04.2009, 23:31   #7
DeniCPP
 
Аватар для DeniCPP
 
Регистрация: 04.04.2009
Сообщений: 9
По умолчанию

Щас установил 2009 билдер, запустил твой проект, всё заработало! Решил перейти на 2009, чем то лучше... вообщем можно сказать проблему решил, большое спасибо за помощь!
Талант – это желание работать, а во-вторых, работоспособность.

Последний раз редактировалось DeniCPP; 04.04.2009 в 23:35.
DeniCPP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подсчет md5 Noor Компоненты Delphi 8 18.11.2009 08:22
MD5 в Delphi LeoN Общие вопросы Delphi 7 23.09.2009 12:25
Считаем заказы! Excel 2003 Sharrik Microsoft Office Excel 9 18.03.2009 17:49
Ипользование md5 шифрования в C? fis Общие вопросы C/C++ 1 06.06.2008 16:58