Miten Freepascalin md5-funktiolla voidaan merkkijono muuttaa hashiksi? Olen yrittänyt kaikilla tavoin, mutta vain pukkaa erroria ja mikä toi TMD5Digest oikein on?
FreePascal: MD5
4
676
Vastaukset
- Guillermo Pascal
vaikka toi paketti.
http://www.freepascal.org/packages/md5.html - Guillermo Pascal
..lukien sulla on puurot ja vellit sekaisin, hash tarkoitaa sekoittaa ei ole siis erillistä hash tilaa vaan vaan esim tässä tapauksessa md5 on se hash tila.
- Delphiguru
imuta netistä tämä:
http://synapse.ararat.cz/files/synapse.zip
Unit synacode:
function MD5(const Value: AnsiString): AnsiString;
Returns a binary string with a RSA-MD5 hashing of "Value" string.
Tuo Synapse on kokoelma TCP/IP -toiminnallisuutta toteuttavia luokkia (siis EI komponentteja), mukana myös UDP, HTTP, FTP jne.
Kyseinen MD5 toteutus ei sitten ole nopein mahdollinen, mutta jos ohjelmasi ei laske MD5 -summia gigatavujen kokoisista tietomääristä (esim. CD ja DVD -imaget) niin tuo ei välttämättä haittaa. - S85-58S
TMD5Digest on tyyppi jossa säilytetään tuo MD5-tiiviste.
Funktio MD5String muuntaa merkkijonon TMD5Digest-tyyppiseksi.
Jos haluat sen merkkijonoksi niin funktio MD5Print taas muuntaa TMD5Digest-tyypin merkkijonoksi.
(Kertaus: TMD5Digest on eräs tyyppi ja se on optimoitu MD5 käyttöön.
Vertaa esim. tyyppiä Byte joka esittää kokonaislukuja väliltä 0..225
tai TColor jossa on värejä esim. clRed )
FreePascal:ssa ja Lazaruksessa MD5-tiivisteen käsittelyfunktiot ovat MD5 unit:ssa.
Eli jos tätä haluaa käyttää niin niitä käyttävässä unit:n alussa olevassa uses-lauseessa oltava mainuttu myös md5.
Voinet kokeilla vaikkapa tälläistä funktiota:
function MjonoToHash( merkkijono: string ):string;
var
md5tavut:TMD5Digest;
begin
md5tavut := MD5String( merkkijono );
result := MD5Print( md5tavut );
end;
Tuon saat toimimaan kokeilua varten Lazaruksessa (Delphi vatinee MD5 unit:n) .
Luot Form:n jonne laitat Button, Edit ja Label-komponentit.
Generoit Button:lle tapahtuman-käsittelijän jota täydennät
seuraavasti:
procedure TForm1.Button1Click( Sender: TObject );
var
s1, s2 : string;
begin
s1 := Edit1.text;
s2 := MjonoToHash( s1 );
Label1.Caption := s2;
end;
Muista vielä lisätä toi funktio ja uses-lauseeseen MD5.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Omakotitalossa väkivaltaa ounasrinteellä
Kertoo iltalehdet Mitä lienee Tapahtui. Verinen ihminen kannettu lanssiin201767Persut jakavat tekoälyllä tehtyjä kuvia maahanmuuttajista somessa
Eivät mainitse, että ovat tekoälyllä tehtyjä. Eivät näe asiassa mitään ongelmaa. Valehtelijapuolue taas vauhdissa. Unka4581481Martinan hevoset.
Tämä todella kaunis ja ketterä harmaa hevonen jolla monet kilpailut voitetaan ei ole Martinan.Tytär ratsastaa sillä tait3091316Miesmäinen vanha nainen joka kulkee lastenvaunujen kanssa
Mikähän kaheli tämä yks kaupungilla karvahattu päässä kulukeva vanha eukko on joka työntää lastenvaunuja. Onhan sitte191018kukaan ei pakota kasteeseen..
Kommentointi estetty, joten kommentoin tähän.Kukaan ei pakota pakkokasteesta puhuvaa kastamaan lastansa.Noloa edes ehdot4001005Lopetin kokonaan ravintoloissa ruokailun ja juomisen
Ravintoloissa hinnat ovat aivan naurettava korkealla. Alkoholin juomisessa ravintoloissa ei ole senkään vertaa järkeä.87953Ethän leiki kanssani J- mies
Jos oletkin joku pelimies, jolla monia vaihtoehtoja, katkon kylmästi yhteyden. En jaksa sellaisia miehiä.100943Molemmat päät
aivan tulessa😫 Miksi pitää ihmisen tällaisesta kärsiä??? Jos koko ajan pnettaa, niin miksi sitä seksiä ei voi sitten s117873Kasteen merkityksestä ihmiselle
Jeesuksen hyvä ystävä Nikodemus meni heti Jeesuksen kasteen jälkeen kysymään häneltä kasteen merkityksestä ihmiselle. J407821Liikenne onnettomuus
Luin juuri Ampparista Konneveden kauheasta onnettomuudesta jossa menehtyi 60-luvulla syntynyt mies. Onko kellään tarkemp6800