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

568

    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. Trump muka öljyn takia Venezuelaan? Pelkää mustamaalausta

      Kertokaapa mistä tuollainen uutisankka on saanut alkunsta? Näyttäkääpä ne alkuperäiset lähteet, minä en löytänyt mitään
      Maailman menoa
      228
      20905
    2. Kun Arman Alizad puolusti hiihtäjä Vilma Nissilää sanomalla

      "älä välitä sekopäistä Vilma", ja kun siitä kerrottiin täällä, niin sekopäinen mukasuvaitsevainen teki siitä valituksen
      Maailman menoa
      96
      4184
    3. Lataus pakkaskelissä

      En olisi koskaan ostanut sähköautoa jos olisin tajunnut että ne eivät lataa pakkasissa suurteholatauksella vaan istut tu
      Hybridi- ja sähköautot
      74
      2848
    4. Kun väestö ikääntyy ja veronmaksajat vähenee, mitä sitten vasemmistolaiset?

      Maahanmuutto ei vaan ole ratkaisu väestön ikääntymiseen. Maahanmuutto lykkää ja hidastaa väestön ikääntymistä ja työv
      Maailman menoa
      49
      2170
    5. Temutatko ?

      Ostatko kiinalaisista verkkokaupoista halpaa tavaraa tai vaatteita ja miksi? Siksi että on kiva ostaa kun halvalla saa?
      60 plus
      192
      1798
    6. Martinalta vahva viesti

      "Suuret unelmat venyttävät sinua, pelottavat vähän ja vievät mukavuusalueen ulkopuolelle. Juuri siellä kasvu tapahtuu. J
      Kotimaiset julkkisjuorut
      289
      1622
    7. Miksei Trump ole kiinnostunut Suomen valloittamisesta?

      Täällähän on enemmän turvetta kuin Norjalla öljyä. Eikö Ttump ole turvenuija?
      Maailman menoa
      73
      1561
    8. Jos mies olet oikeasti...?

      Kiinnostunut... Pyydä mut kunnolla treffeille ja laita itsesi likoon. En voi antaa sydäntä jos sinä olet epävarma ja eh
      Ikävä
      135
      1540
    9. Akateemikko Martti Koskenniemi vertaa Trumpia Putiniin

      "-Suomalaisena on syytä olla huolissaan siitä, että Yhdysvallat näin vahvistaa 1800-luvun alkupuolella julistamansa etup
      Maailman menoa
      168
      1494
    10. Esko Eerikäinen paljastaa järkyttävän muiston lapsuudesta - Isä löytyi alastomana slummista

      Esko Eerikäisen tausta on monikulttuurinen, hän muutti vain 10-vuotiaana yksin kotoaan Kolumbiasta isovanhempiensa luo S
      Suomalaiset julkkikset
      14
      1384
    Aihe