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. Mitä on mietteissäsi

      Tänään?
      Ikävä
      67
      788
    2. En olis uskonu

      et kuulut tollaseen porukkaan
      Ikävä
      113
      752
    3. Mikä on hulluinta?

      Mitä ikäväsi kohde on tehnyt?
      Ikävä
      37
      706
    4. Meiltä löytyy kyllä älliä

      Vai mitä oot mieltä...
      Ikävä
      130
      667
    5. En haluaisi sanoa tätä

      Mutta olet sokea sille, mitä sinulla jo on! Jos minä olisin sinä, pyrkisin tekemään kaikkeni kohentaakseni nykyistä pari
      Ikävä
      40
      609
    6. Et taida olla ihan varma

      Päätöksestäsi?
      Ikävä
      67
      589
    7. Vasemmiston aloite

      Pyhäjärvellä, ihan hyvä aloite. Toteutus ja puhdistus pitäisi alkaa ihan omasta pesästä. Näkeehän tuon sokeakin mitä ja
      Pyhäjärvi
      58
      493
    8. Miltä tuntuu

      olla erossa kaivatustasi?
      Ikävä
      27
      485
    9. Koska Sofia kertoo totuuden, että ovat eroneet miljonääri miehen kanssa?

      Eikö olisi hänelle itselleen helpotus, kun voisi kertoa totuuden. Miksi salata asiaa ja pitkittää sitä harmaan tulevaisu
      Kotimaiset julkkisjuorut
      142
      469
    10. Onko suhtautuminen kaivattusi

      Fyysiseen vetovoimaan muuttunut? Jos, mihin suuntaan? Tunnetko enemmän vai vähemmän vetoa häneen fyysisesti kuin silloin
      Ikävä
      35
      468
    11. Miksi vihainen

      Miksi olet vihainen mulle?
      Ikävä
      41
      432
    12. Tunnistan mun rakkaan

      Kirjoituksen heti kun se on täällä. Mä vaan tiedän sen ja tunnen 🤗
      Ikävä
      68
      430
    13. Näyttää siltä ettet edes sinä.

      Kukaan ei uskalla kohdata aitoa ja syvää sielun rakkautta. Hyvin harvat vain. Ihmisten on turha tavoitella sitä oikeaa
      Ikävä
      30
      408
    14. Maajussille morsian: Farmiviikon voittajat ja häviäjät - Itkua ja pettymystä ei salattu

      Maajussille morsian -suosikkisarjassa farmiviikolla selviää, onko ilmassa "sitä jotakin". Rakkauden etsintä on täynnä i
      Maajussille morsian
      0
      405
    15. Hei, alettaisko oleen yhdessä?

      Miltä tuntuisi jos joku ihminen josta tykkäät sanoisi haluavansa yhteen asumaan? Ajattelisitko menettäväsi vapauden, pys
      Sinkut
      65
      398
    16. Miten oletkin noin

      osaamaton kaikin tavoin :)
      Ikävä
      35
      393
    17. Jos olen aiheuttanut pahaa, pyydän anteeksi

      Jos olen omalla kirjoittelullani aiheuttanut täällä jollekin pahaa mieltä tai sotkenut asioita, niin pyydän sitä anteeks
      Ikävä
      58
      387
    18. Muistelen lämmöllä

      Se oli vaikein päätös, jonka olen joutunut tekemään. En pidä valehtelusta, mutta näin sait päätöksen asioille. Rakasti
      Ikävä
      27
      384
    19. Kun asiat pitkittyy niin ne mutkistuu

      Mutkaista jo on, ei nämä enää selviä.
      Ikävä
      29
      374
    20. Tyrkytät ittees liian

      tasokkaille :)
      Ikävä
      44
      373
    Aihe