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
642
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
Kansalla on oikeus tietää miksi persut pettävät
Koko kulunut hallituskausi on kysytty persuilta, minkä vuoksi he ovat pettäneet käytännössä jokaisen vaalilupauksen, ain2489301Kunnissa - siis myös kaupungeissa - viihtyvät ovat kommunisteja
Nehän ovat osa yhteiskunnan tuottamia instansseja, joista on vain haittaa veronmaksajille ja yrittäjlle, kuten ollaan ve52791Kansalla on oikeus tietää mikä on SDP:n talousohjelma jolla maan talous
saadaan nousuun? Miksi puolue piilottelee sitä, vai eikö sitä ole? Tähän asti olemme vaan saaneet kuulla hallituksen ha1051910Ammattiliitto 900 euroa/vuosi - Työttömyyskassa 72 euroa/vuosi
Ammattiliitosta eroamalla voi säästää jopa 800 euroa vuodessa. Mitä enemmän tienaat, sitä enemmän maksat liitolle. Esim1991903- 1391391
SDP todellisuudessa pahin pettäjä koskaan - se syyllistyi valtiopetokseen 1918
kun aloittivat kapinan maan laillista valtiojärjestystä vastaan. Punaiset saivat tukea Neuvosto-Venäjän bolsevikeilta,601377Iski taas katumus kun en jutellut sun kanssa
Silloin kun halusit. Mutta en enää voi sille mitään, en saa muutettua sitä hetkeä..1281307Kyriake=Kirkko
Kirkko, Kyriake Kirkko-sana tulee kreikankielen sanasta Kyriake=Herran omat, Kristuksen omaksi kastettujen suuri joukko931006- 64865
- 40818