Calculate MD5 Hashing for a File or String Using Delphi

Calculate MD5 Hashing for a File or String Using Delphi

We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

The MD5 Message-Digest Algorithm is a cryptographic hash function. MD5 is commonly used to check the integrity of files, like to make sure that a file has been unaltered.

One example of this is when downloading a program online. If the software distributor gives out the MD5 hash of the file, you can produce the hash using Delphi and then compare the two values to make sure they're the same. If they're different, it means the file you downloaded is not the one you requested from the website, and therefore may be malicious.

An MD5 hash value is 128-bits long but is typically read in its 32 digit hexadecimal value.

Finding the MD5 Hash Using Delphi

Using Delphi, you can easily create a function to calculate the MD5 hash for any given file. All you need is included in the two units IdHashMessageDigest and idHash, both of which are a part of Indy.

Here's the source code:

uses IdHashMessageDigest, idHash;
//returns MD5 has for a file
function MD5(const fileName : string) : string;
idmd5 : TIdHashMessageDigest5;
fs : TFileStream;
hash : T4x4LongWordRecord;
idmd5 := TIdHashMessageDigest5.Create;
fs := TFileStream.Create(fileName, fmOpenRead OR fmShareDenyWrite) ;
result := idmd5.AsHex(idmd5.HashValue(fs)) ;

Other Ways to Generate the MD5 Checksum

Apart from using Delphi are other ways you can find the MD5 checksum of a file. One method is to use Microsoft File Checksum Integrity Verifier. It's a free program that can be used only on the Windows OS.

MD5 Hash Generator is a website that does something similar, but instead of producing the MD5 checksum of a file, it does so from any string of letters, symbols, or numbers that you put in the input box.


  1. Beorhttun

    Congratulations, great answer ...

  2. Brun

    You are absolutely right. In there is something also I think it is the excellent idea.

  3. Tadhg

    Great answer, congratulations

  4. Treyton

    Definitely, the excellent message

  5. Marid

    what to talk about here?

  6. Luigi

    Congratulations, the brilliant idea

  7. Adalgar

    Bravo, your opinion will come in handy

  8. Peterson

    a charming message

Write a message