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

638

    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. Kuinka Riikka Purra on parantanut Suomen kansalaisen elämää?

      Haastan kaikki perussuomalaisten kannattajat kertomaan konkreettisia esimerkkejä kuinka Riikka Purran harjoittama politi
      Maailman menoa
      79
      3847
    2. Iso poliisioperaatio Lapualla

      Paikalla oli silminnäkijän mukaan myös kolme ambulanssia. https://www.is.fi/kotimaa/art-2000011924650.html Onko virpo
      Lapua
      65
      3613
    3. Riikan antisakset leikkaavat bensan hintaa ylöspäin

      Sannan aikoina bensaa sai 1,3 euron litrahinnalla ja Riikka leikkasi sen euron ylemmäksi reiluun 2 euroon. Joko on saks
      Maailman menoa
      39
      2190
    4. Sukupuolineutraalit liikennemerkit yksi persujen älynväläys

      Samassa rytäkässä kaikki syrjäseutujen bussipysäkkien liikennemerkitkin vaihdettiin, vaikkei bussia ole liikennöinyt enä
      Maailman menoa
      52
      2159
    5. Oletko nähnyt hänet ilman...

      Vaatteita!?
      Ikävä
      58
      2024
    6. Oon niin surullinen

      Ettei meistä tullut sitä mitä toivoin
      Ikävä
      51
      1736
    7. Mitä sitten odotat

      Jos seurailet vain tekemisiäni
      Ikävä
      27
      1419
    8. Vuoksesi kaiken

      Tekisin vuoksesi kaiken. Enemmänkin. Kunpa tietäisi ja hyväksyisit sen. Ymmärtäisit, en voi elää ilman sinua. En halua
      Ikävä
      115
      1153
    9. Missä yleensä törmäät kaivattuusi??

      Tai näet hänet!!
      Ikävä
      60
      1079
    10. Jos oireesi palaa pahempana lääkityksen jälkeen se ei ole välttämättä mielenterveysongelma

      Lääkkeen käytön aikana miljardit neuronit on tottuneet olemaan lääkityksen alla ja keho on fyysisesti rakentanut toimint
      32
      1001
    Aihe