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

583

    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. Kumpi on sekaisempi - Koskenniemi vai Trump?

      Koskenniemi haukkui Trumppia A-studiossa, niin että räkä lensi suusta. Sen sijaan Trump puheessaan sanoi, että Grönlant
      Maailman menoa
      131
      2727
    2. Ukraina, unohtui korona - Grönlanti, unohtu Ukraina

      Vinot silmät, unohtui Suomen valtiontalouden turmeleminen.
      Maailman menoa
      26
      2724
    3. Kaivattusi silmin

      Minkälaisen kuvan olet omasta mielestäsi antanut itsestäsi kaivatullesi?
      Ikävä
      153
      1450
    4. Miten kauan sulla menisi

      Jos tulisit mun luo tänne nyt kahvinkeittoon?
      Ikävä
      205
      1445
    5. "Pähkähullu ruhtinas" sanoi a-studiossa maailmanpolitiikan professori...

      ...Martti Koskenniemi Trumpista ja hänen toimintatavoistaan, vertasi 1600-luvulla eläneeseen Aurinkokuninkaaseen Ludwig
      Maailman menoa
      310
      1351
    6. Miksi me oikein

      Rakastuttiin?
      Ikävä
      94
      1311
    7. Riikka Purra perustelee hallituksen leikkauspolitiikkaa

      Odotukset ovat kovat, mutta puhe on poikkeuksellisen onttoa jopa hallituksen omalla mittapuulla. Vastuu työnnetään alas,
      Perussuomalaiset
      55
      1133
    8. Toivottavasti myös pysyy häkissä

      https://www.is.fi/kotimaa/art-2000011754428.html 😡😡😡 tommosia saastoja sitä näyttää Suomussalmen suunnalta sikiävän �
      Suomussalmi
      14
      1084
    9. Martina ja Matias

      Mahtaako Martina yrittää saada Matiasta uudeksi sulhaseksi, niin saisi ne prinsessa häät, mitkä jäi pitämättä, kun Aussi
      Kotimaiset julkkisjuorut
      211
      1009
    10. Millaisia tunteita

      Sinulla on minua kohtaan?
      Ikävä
      68
      988
    Aihe