Difference between revisions of "hash"

From Lazarus wiki
Jump to navigationJump to search
Line 7: Line 7:
 
The test program md5test calculates the hash value for some reference string. The reference output is provided for comparison.
 
The test program md5test calculates the hash value for some reference string. The reference output is provided for comparison.
  
It has the units that:
+
A simple way to calculate the md5 of a given string is to use MD5String followed by MD5Print, like this:
 +
 
 +
<delphi>
 +
uses md5;
 +
 
 +
var
 +
  Password, PasswordHash: string;
 +
begin
 +
  PasswordHash := MD5Print(MD5String(Password));
 +
</delphi>
 +
 
 +
Similarly to generate the md5 hash of a file one can use:
 +
 
 +
<delphi>
 +
uses md5;
 +
 
 +
var
 +
  PathToFile, FileHash: string;
 +
begin
 +
  FileHash := MD5Print(MD5File(PathToFile));
 +
</delphi>
 +
 
 +
 
 +
== Hash units ==
 +
 
 +
The following hash units are available in FPC:
  
 
* Implements a NTLM version 1.0, password hash algorithm-unit : ntlm.pas
 
* Implements a NTLM version 1.0, password hash algorithm-unit : ntlm.pas

Revision as of 12:32, 1 August 2011

The package hash contains implementations for crc, md5, NTLM (1?) and, under Linux, crypt. Crypt might be better used from pkg "user".

Unit md5

This unit implements the MD5 digest algorithm according to the specifications in RFC 1321. There are routines to calculate hashes from some buffer, or a hash from an entire file.

The test program md5test calculates the hash value for some reference string. The reference output is provided for comparison.

A simple way to calculate the md5 of a given string is to use MD5String followed by MD5Print, like this:

<delphi> uses md5;

var

 Password, PasswordHash: string;

begin

 PasswordHash := MD5Print(MD5String(Password));

</delphi>

Similarly to generate the md5 hash of a file one can use:

<delphi> uses md5;

var

 PathToFile, FileHash: string;

begin

 FileHash := MD5Print(MD5File(PathToFile));

</delphi>


Hash units

The following hash units are available in FPC:

  • Implements a NTLM version 1.0, password hash algorithm-unit : ntlm.pas
  • Implements a MD2 digest algorithm (RFC 1319)-unit: md5.pp
  • Implements a MD4 digest algorithm (RFC 1320)-unit: md5.pp
  • Implements a MD5 digest algorithm (RFC 1321)-unit: md5.pp
  • Implements CRC algorithm-unit:crc.pas


Go to back Packages List