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

623

    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. Moni islamilainen maa on jo kieltänyt burkat ja nigabit

      mm. Marokko, Tunisia ja Turkki. Miksi he ovat sen tehneet? No perusteet ovat selkeät ja yhteneväiset: turvallisuus, yhte
      Maailman menoa
      136
      2679
    2. Vain puolet SDP:n kannattajista luottaa puoluejohtoon häirintäkohussa

      Ja SDP on ilmoittanut, että ainoa rangaistus häirintään syyllistyneille kansanedustajille on puhuttelu - aina sama. Eli
      Maailman menoa
      108
      2158
    3. Persujen vaalilupaus oli euron bensa

      Nyt puhutaan jo kolmen euron bensasta. Kyseessä on Suomen historian törkein vaalipetos.
      Maailman menoa
      41
      1793
    4. Maataloustuet perittävä korkojen kera takaisin

      Yrittäjiltä jotka ovat myyneet tuotantoaan ulkomaille. Veronmaksajan kustantama tuki on tarkoitettu elintarvikkeiden hi
      Maataloustuki
      40
      1619
    5. Kyllä mies pakit kestää

      Herranen aina nyt poijat! 😃 Jos pelkäätte pakkeja noin paljon niin hamekangasta hakemaan. Oon ite saanut useammatkin n
      Ikävä
      60
      1516
    6. Palomestari sytytti tulipalon Kankaanpäässä

      Kankaanpää ei yllätä koskaan. Oukarinkadulla syttyi rivitalossa tulipalo toukokuussa 2024. Nyt sen sytyttäjää syytetään
      Kankaanpää
      31
      1264
    7. Kuka on Farmi Suomi Riiko?

      Farmi Suomi -realityssä Riiko Sakkinen on saanut paljon tv-aikaa. Riikon ajatuksia ja toisten nokittelua sekä lopulta pe
      Tv-sarjat
      13
      1181
    8. Topi osti Askon

      Hieno mies. Pelastaa työpaikkoja. Kiitokset myös emännälleen, joka pitää isännän virkeänä. https://www.is.fi/taloussan
      Maailman menoa
      59
      1154
    9. Vastuuhenkilöt

      Ketkä ovat Lapuan Kotiasunnot-yhtiön tili- ja vastuuhenkilöt? Nimet kehiin, julkista tietoa.
      Lapua
      63
      1126
    10. Pelataanko sivistyslautakunnan päätöksissä reilua ja avointa peliä?

      Huomasin, että sivistyslautakunta on tehnyt viikko sitten isoja miljoona päätöksiä lastemme koulukuljetuksissa ja kaup
      Ähtäri
      34
      801
    Aihe