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

464

    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. Terveystalo paljasti yksityisen sairaanhoidon empatia puutteet

      Yksityisellä puolella raha ratkaisee, jos ei ole rahaa potilas ei saa empatiaa eikä siten apuakaan: Poliisi teki rikosi
      Maailman menoa
      158
      1561
    2. Ehdin aamulla

      ajattelemaan sinua. Olit ensimmäisenä mielessäni. Avasin silmäni tähän uneen, jota elämäksi kutsutaan. Kuuntelin lintuje
      Ikävä
      139
      1235
    3. Puhuuko Orpo niin totta kuin osaa?

      Vai osaisiko "en muuta keksinyt" -Orpo edes vähän paremmin puhua totta? https://www.iltalehti.fi/politiikka/a/f8d5241f-
      Maailman menoa
      199
      1086
    4. Mä todella toivon että

      Sulla on nyt kaikki hyvin sun elämässä, olet sisukas nainen sen näki jo ensimmäisestä hetkestä.
      Ikävä
      36
      987
    5. Olen ollut pois täältä neljä kuukautta

      Neljä kuukautta sitten olin tosiaan psykoottinen, ja jouduinkin osastolle hoidettavaksi kahdeksi kuukaudeksi. Ystävyys-
      Ikävä
      178
      852
    6. Laita viestiä?

      Sitten kun on sinulle hyvä hetki, minä odotan. Jotain jäi kesken ja haluan viedä sen loppuun 😘
      Ikävä
      61
      852
    7. Naiselle kysymys

      Oletko rakastunut minuun?
      Ikävä
      56
      798
    8. Katselimme pitkään ja se merkitsi minulle paljon

      Sinulle se ei merkannut näköjään mitään.
      Ikävä
      41
      786
    9. Ymmärräthän, että sun katkeruus ajaa mut pois

      Sä olet niin itseriittoinen, ettet edes tajua mitä myrkkyä suollat ympärillesi. Olet harhaisessa päässäsi kuvittellut et
      Ikävä
      39
      695
    10. Sun pitää mies unohtaa

      Minut jo. Tiedän että se on sulle tosi hankalaa. Mut sun pitää unohtaa mut jo. Älä kirjoita mulle tänne viestejä enää.
      Ikävä
      49
      687
    Aihe