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

764

    Vastaukset 4

    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ä.

    Luetuimmat keskustelut

    1. Kuinkahan monen

      Naisen puolisoa olet nainen vikitellyt ja eron aiheuttanut? Toivottavasti karma on ku*sut muroihisi useamman kuin kerran
      Ikävä
      94
      867
    2. Mies, kumman ottaisit mieluummin

      176 cm vai 154 cm naisen, jos molemmat muuten yhtä viehättäviä? Mikä on oma pituutesi?
      Sinkut
      150
      819
    3. Kauan mökötetään toisillemme?

      Loppuelämäkö? Vai oisko jo pussailutreffit?
      Ikävä
      60
      692
    4. Pettymys TTK-parketilla! Anna Hanski tippui - Sami-opelta erikoinen heitto: "Nyt sä pääset..."

      Toisena parina Tanssii Tähtien Kanssa -kisasta tippuivat Anna Hanski ja Sami Helenius. Pettymys oli käsinkosketeltava y
      Tanssii tähtien kanssa
      25
      673
    5. Anteeksi mies

      En jaksa tätä…, en halua, että sinulla on paha mieli tämän takia. Viestiä Sinulle.
      Ikävä
      47
      664
    6. Tekisi mieli vetäistä kunnon jurrit sinun kanssasi

      Ja keskustella asiat, ei tästä tule hevonvttua.
      Ikävä
      46
      634
    7. Eikö olisi mukavaa

      Jakaa arki yhdessä mies. Tämmöisin aatoksin.
      Ikävä
      44
      597
    8. Poliisi etsii kadonnutta henkilöä Lapualla

      Henkilö on kadonnut 18-19.9.2026 välisenä yönä. Henkilö on hoikka,n 185 cm pitkä. Kadonneella on ollut katoamishetkellä
      Lapua
      29
      532
    9. Laittaisit viestin suoraan!!

      Haluaisin...
      Ikävä
      31
      531
    10. Oot komea

      etkä näytä vanhenevan. Mieskarkki. Mä en yritä mitään, mä oon sulle liian vanha. Olis kuitenkin kiva tutustua suhun. n
      Ikävä
      20
      523
    11. Mieti oikeasti

      Ollaan lähes tuntemattomia, mutta samalla on tämä erityinen vuosien tilanne takana, joka on ollut monella tapaa väärin.
      Ikävä
      27
      516
    12. Se oli molemminpuolinen limerenssi

      Limerenssi myös sinulla kun näin pitkän ajan jälkeen päivystää palstaa. 🤭
      Ikävä
      81
      479
    13. Jonkun mussukka ajanu rallia

      S- Marketilla. Vautsi vau.
      Hyrynsalmi
      6
      476
    14. Venäjä häviämässä 30 vuoden sodan

      Ukraina vapautti kolme aluetta, operaatio Vivaldi laajenee
      Maailman menoa
      404
      470
    15. Minä kyllä odotan nainen

      että sinun kanssa voisin jutella asioista ihan oikeasti.
      Ikävä
      44
      451
    16. Onko kaivattusi

      Hoikistunut?
      Ikävä
      30
      446
    17. Olen nainen pahoillani, että tykkään sinusta niin paljon, että

      Haluaisin panna sua. Tuntuu vaan siltä, että olet sen suhteen ihan haluton. Ei minulle riitä pelkkä ystävyyssuhde.
      Ikävä
      29
      441
    18. Rydman, herätys!

      "Veikkauksen toimitusjohtaja Olli Sarekoski tienasi kiinteää palkkaa 445 891 euroa ja lisiä 72 157. Kuukausipalkka oli 3
      Maailman menoa
      63
      432
    19. En laita sulle viestiä

      Toivottavasti ymmärrät jo mies hyvä, että en tule koskaan laittamaan sulle viestiä enkä soittamaan sulle. Minusta ei sii
      Ikävä
      39
      414
    20. Helena Ahti-Hallberg napauttaa - Näin hän kommentoi Vappu Pimiän TTK-lähtöä

      Vappu Pimiä jätti Tanssii Tähtien Kanssa -juontajapestin viime kauden lopuksi. Nyt on erilainen kausi, kun Pimiä ei ole
      Tanssii tähtien kanssa
      4
      401
    Aihe