Borland C++ : MD5 Coder

Programovacie jazyky, rady, poradňa...
jozi341
Light Expert
Light Expert
Príspevky: 39
Registrovaný: 29 dec 2007, 16:02

Borland C++ : MD5 Coder

Príspevok od používateľa jozi341 »

Skusal som nakodovat aplikaciu ktora mi z môjho textu (Edit1->Text) urobi MD5 Hash pomocou IdCoderMD5..... ...ale ukazuje tak akurat somariny.... tu je zdrojovy kod:

Kód: Vybrať všetko

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "cdiroutl"
#pragma link "CGAUGES"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Vysledok;

IdCoderMD51->Reset() ;
IdCoderMD51->AutoCompleteInput = false ;
IdCoderMD51->CodeString(Edit1->Text);
Vysledok = IdCoderMD51->CompletedInput();


Memo1->Lines->Add(Vysledok);
}
napisal som do Edit1 slovo "xxx" a ono mi v Memo1 ukazalo toto "0;ú•ľiń_étř"?­Ż" .....

potrebujem kod , ktory by fungoval na 100%.... za kazdu odpoved DIKES !
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Borland C++ : MD5 Coder

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

IdCoderMD51->Reset();
IdCoderMD51->AutoCompleteInput = true;
MD5hash = IdCoderMD51->CodeString(Edit1->Text);
String str2;
for(int i = 0; i < MD5hash.Length(); i++)
{
str2.operator += (LowerCase(IntToHex(MD5hash.c_str()[i],2)));
}
Edit2->Text = str2; //klasicky hexadecimalny hash
neviem čo je návratovou hodnotou toho CompletedInput() ktoré voláš, ale podstatou toho prečo to máš tak zle je to, že po zavolaní CodeString() máš hash v binárnej forme. Musíš si ho ručne prekodovať. Toto rieši už indy9 (ty máš zrejme starú verziu). V indy9 sa ale tento komponent už volá IdHashMessageDigest
jozi341
Light Expert
Light Expert
Príspevky: 39
Registrovaný: 29 dec 2007, 16:02

Re: Borland C++ : MD5 Coder

Príspevok od používateľa jozi341 »

Stale nic ..... dal som do CodeString slovo "xxx" a ono mi ukazalo zase dalsi blud: "303bfffffffaffffff95ffffffbe69fffffff15fffffffe917747ffffffff8223fffffffad03ffffffaf"...
Mozno to bude tou indy .... da sa stiahnut a preinstalovat nova verzia Indy aby mi ta stara zmizla??? :cry:
Napísať odpoveď