FreePascal: MD5

pefpasfd

Miten Freepascalin md5-funktiolla voidaan merkkijono muuttaa hashiksi? Olen yrittänyt kaikilla tavoin, mutta vain pukkaa erroria ja mikä toi TMD5Digest oikein on?

4

689

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Guillermo Pascal
    • 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ä.

    Takaisin ylös

    Luetuimmat keskustelut

    1. Porvarimedia: Räsänen vei Lindtmanilta pääministerin paikan

      Lisäksi suomalaiset ovat innostuneet tuhlaaman, koska kuluttavat inflaation verran enemmän rahaa. Eikö porvarimedialla
      Maailman menoa
      60
      2836
    2. Ruotsi laskee jälleen bensaveroa, Riikka irvailee tumput suorana

      Euron bensa oli persujen vaalilupaus, mutta kohta alkaa olla kolmosella alkavia litrahintoja. Meanwhile in Sverige: "
      Maailman menoa
      42
      2469
    3. SE TAPAHTUI - Pekka Aittakumpu: Avioero

      Perussuomalaisten kansanedusta Pekka Aittakumpu käy parhaillaan avioero prosessia. Aittakumpu on siviiliammatiltaan past
      Perussuomalaiset
      95
      2032
    4. Anita ei saanut Heikkiä pihalle

      Kemijärven kaupunginvaltuusto ei tehnyt tietoisesti laitonta päätöstä. Heikki johtaa kaupunginhallitusta yhäkin.
      Kemijärvi
      85
      1335
    5. Martina Aitolehden rinnalla nähty Matias Petäistö yllättää - Uusi aluevaltaus TV:ssä!

      Matias Petäistö on tuttu Erikoisjoukot-realityn tiukkana kouluttajana. Hän on myös tuttu näky Martina Aitolehden parina,
      Kotimaiset julkkisjuorut
      30
      1179
    6. Emotionalisuuden puute.

      Joillain ihmisillä ei vain ole sitä "jotain". Heille kaikki täytyisi "vääntää" rautalangasta. Mutta heistä ei vaan o
      Sinkut
      155
      861
    7. Sait mut mies heikoksi

      Yllätti tämä asia nyt kyllä. Olet ollut mielessä koko ajan. Ei riitä pelkkä kevät nyt syyksi. Veit jalat alta. Pannaan m
      Ikävä
      80
      794
    8. Ei ole vaikea päättää kumpi

      Hän on vaimomateriaalia. Sinä olet vain tuollainen pieni kiusankappale.. Revi siitä.
      Ikävä
      52
      716
    9. Ymmärrätkö jo nyt, että

      Vetäytyminen ei kannattanut? Asioista pitäis puhua rauhassa hyvässä hengessä eikä lakasta maton alle. Yhdeltä ihanalt
      Ikävä
      44
      682
    10. 43
      675
    Aihe