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

760

    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. Kenellä oli ryppyinen paita, josta Halla-aho mielensä pahoitti?

      Ei ollut Keskisarja, jonka paita vain repsotti housujen päällä puolittain. Muistatteko tapausta?
      Maailman menoa
      13
      2817
    2. Tunnustusten lauantai

      Mitä haluat sanoa kaivatullesi?
      Ikävä
      232
      2704
    3. Miksi Halla-aho on niin hyvin menestynyt - mutta punavihreä ei?

      Hyvin näkee kuinka punavihreää ottaa pahasti päähän kun Virta on taas töppäillyt pahasti. Ja kun punavihreä ei pärjää, n
      Maailman menoa
      18
      2081
    4. Ruoan arvonlisävero menee käytännössä tukijussille

      Ilman juomia elintarvikkeiden myynti vuonna 2025 oli reilut 15 miljardia euroa. Tuolla tasolla arvonlisävero pyörii pari
      Maailman menoa
      26
      2028
    5. Vihreät REPEÄMÄSSÄ oijoijoi....Virran sekoilut on liikaa

      Jo ennestään vihreiden kannatus on suossa vaikka puolue istuu oppositiossa, nyt tuli Virran temppu kun häipyi tuosta vaa
      Maailman menoa
      59
      1881
    6. Sofia Virta SUURI POLIITIKKO

      Osallistumalla Erikoisjoukkoihin nostaa Vihreät kauaksi ohi perussuomalaisista, joka on muutenkin hajoamassa omaan mahdo
      Maailman menoa
      71
      1652
    7. Työeläkkeiden maksaminen lopetettava ASAP.

      "Vanhimmat sukupolvet ovat saaneet vastinetta eläke­maksuilleen monin­kertaisesti nykyisiin ja tuleviin sukupolviin verr
      Maailman menoa
      16
      1272
    8. Mitä ikävöit eniten ikäväsi kohteesta?

      Rahaa, turvallisuutta, kauniita katseita,seksiä, läheisyyttä vai jotain muuta?
      Ikävä
      99
      1255
    9. Mika Poutala salasi osallistumisensa Erikoisjoukkoihin

      Poutala ryhtyi ministeriksi 13.6.2025 ja 5.8.2025 ilmoitettiin hänen olevan seuraavalla Erikoisjoukot-kaudella. http
      Maailman menoa
      23
      1192
    10. Siis HYI OLKOON! Ihmiset, eikö enää ole mitään rajaa?

      https://www.iltalehti.fi/viihdeuutiset/a/4142eeb2-a589-4109-a5d0-e8f341df585c "Susanna Penttilän seksibussi kauhistutta
      Maailman menoa
      90
      1082
    Aihe