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. Tässä ovat Elämäni biisi -vieraat lauantai 3.10. - Yksi vieras on todellinen suomalaisten suosikki

      Jos menisit Elämäni biisiin, mikä olisi elämäsi biisi ja miksi? Elämäni biisi tulee suorana lähetyksenä Tampereelta. K
      Viihde ja kulttuuri
      11
      823
    2. Kylypylä mätänee

      Kuka sotki uimaaltaan bakteereilla
      Suomussalmi
      43
      794
    3. Huomenta

      Sinulle! Olen miettinyt sinua paljon yön aikana. 🫂
      Ikävä
      62
      758
    4. Mikä kaivatullesi

      On tärkeintä elämässään?
      Ikävä
      60
      750
    5. En voi kertoa meistä kenellekään

      Minulla on ikävä sinua mies.. Oon yrittänyt taas unohtaa, mutta silti tulet mieleeni lähes päivittäin. Eihän meitä voi o
      Ikävä
      42
      743
    6. 51
      637
    7. Kadutko mies sitä miten reagoit?

      ..siihen sotkuun, jonka jälkeen mikään ei ole ollut kuin ennen. 🥺
      Ikävä
      49
      587
    8. Onko mulla vielä mahkuja saada sinut M nainen

      Sano joku prosenttiluku?
      Ikävä
      60
      587
    9. Mitä ihmettä pitäisi tapahtua

      Että me kohdataan ja saadaan tämä tilanne etenemään?
      Ikävä
      67
      566
    10. Suutuin lähinnä itselleni

      Kun irl juttujen takia näyttää erittäin epätodennäköiseltä, että olisin millään tavoin toivottu henkilö sulle.
      Ikävä
      28
      508
    11. Hei. Ilmeisesti tässä saa unohtaa sen

      että meistä joskus jotain tulisi? M
      Ikävä
      29
      495
    12. SuMetKu konkursissa

      Asiakastiedon sivulla oli, SuMetKu asetettu konkurssiin. Tulihan se seinä vastaan lopultakin suuruudenhulluudessa.
      Suomussalmi
      18
      487
    13. Jos mies naisen prinsessakohtelu

      on sinulle liikaa, älä valitse prinsessaa 🦋🧚🏼‍♀️👸🏼
      Ikävä
      102
      484
    14. Miksi olet niin hankala?

      Miksi toimit miten toimit?
      Ikävä
      44
      475
    15. Ei voi mittään

      Tykkään sinusta, vaikka miten typerän jutun suustasi päästät😅
      Ikävä
      32
      469
    16. Miten voit tykätä

      Jos samaan aikaan haluat pysyä mahdollisimman kaukana?
      Ikävä
      40
      437
    17. En usko enää

      rakkauteen.
      Ikävä
      58
      421
    18. Tykkään sinusta

      Vaikka en vastailekaan!
      Ikävä
      17
      420
    19. Mitä sulle

      Kuuluu?
      Ikävä
      24
      419
    20. Jos kohtaisimme niin

      Olisitko ilkeä ja kostonhaluinen?
      Ikävä
      43
      397
    Aihe