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
608
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
Riikka Purran kaudella nousi bensan hinta yli 2 euron
Muistatteko kuinka edellisen vasemmistohallituksen aikana, ns. Marinin aikakaudella, bensiiniä sai 1,3 euron litrahinnal1224740Veli Sofia teki urosmehiläisen työn
Paljastaessaan kuinka TPS:ssä ei joukkuehenki toimi sooloilijoiden vuoksi, jonka takia koko seura ei pärjää kilpailussa43354Mitäs nyt sijoittajat?
Pörssit laskevat maailmalla Iranin sodan takia ja muutenkin ovat olleet Trumpin vallan alla epävarmat. Ainoa, mikä on no1263170Hjallis Harkimon, 72, Jasmine-rakas, 37, paljastaa suhteen alusta: "Vähän..."
Liikemies, kansanedustaja Hjallis Harkimo ja tuottaja-juontaja Jasmine Pajari ovat pariskunta. He asuvat yhdessä Sipooss252593Unisex-vessat
Ahdistaa. Miksi kaikki pitää tasapäistää tasa-arvon nimissä? Tasa-arvo on sitä, että kunnioitetaan sukupuolien erilaisu602290Jutta Larm, 52, haluaa kumota tämän piintyneen ikämyytin
Oletko samaa mieltä? Jutta Larm on 52-vuotias ja tehnyt pitkän uran yrittäjänä. Hän haluaa kumota tämän piintyneen ikämy181759Henri Alen tilittää yllättäen Vappu Pimiän uudesta MasterChef -pestistä: "Vaikka hän ei..."
Vappu Pimiä on uusi MasterChef Suomi -tuomari. Hän liittyi uudella MasterChef Suomi -kaudella arvovaltaiseen tuomaristoo91364Minkä kouluarvosanan 4-10 annat Beck-leffoille?
Vähiin käy ennen kuin loppuu... Beck-elokuvia on tullut tv:stä jopa 2-3 viikossa. Nyt leffojen esitystiheys on muuttunut91233Vastuun ottaminen omasta hyvinvoinnista
Olen huomannut tuttavapiirissäni ihmisiä, joilla on mt-diagnooseja. Sen sijaan, että millekään asialle yritettäisiin teh1171225Jäit kiinni siitä
että katselet minua. Käänsin pääni, minäkin etsin sinua, ja meidän katseemme kohtasivat. Eikä se haittaa - molemmat ky41008