#
MD5 Message Digest Unit
ReadMe

## Description

This unit contains an implementation of the MD5 message digest algorithm. It is implemented as a Delphi Class named TPJMD5.

The code is developed from scratch based on the algorithm presented in RFC 1321. Portions of the code are translated from the reference C code supplied in the RFC. However the code is not a literal translation into Pascal from the reference code.

The algorithm and reference code are copyright © 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.

The unit is maintained as part of the Delphi Dabbler Code Library project on GoogleCode.

## Documentation

The unit is documented online.

There is no help file.

## Compatibility

The unit requires Delphi 2009 and later. It has been tested with each version of Delphi 2009 to XE4.

Both the Delphi 32 bit and 64 bit Windows compilers are supported.

The code is compatible with VCL and FireMonkey 2 applications.

## Installation

The MD5 Message Digest Unit, documentation and test suite are supplied in a zip file. Before installing you need to extract all the files, preserving the directory structure. The following files will be extracted:

- `PJMD5.pas` – The source code.
- `ReadMe.htm` – The unit's read-me file.
- `ChangeLog.txt` – The unit's change log.
- `Documentation.URL` – Short-cut to the online documentation.
- `License.txt` – The project's license.
- `MPL-2.txt` – Mozilla Public License v2.0.
- `MD5-Notice.txt` – MD5 algorithm licensing notice.

In addition to the above files you will find the DUnit tests for `PJMD5.pas` in the `Test` sub-directory.

There are three possible ways to use the unit.

1. The simplest way is to add `PJMD5.pas` to your projects as you need it.
2. To make the unit easier to re-use you can either copy it to a folder on your Delphi search path, or add the folder where you extracted the unit to the Delphi Search path. You then simply use the unit as required without needing to add it to your project.
3. For maximum portability you can add the unit to a Delphi 32 bit or 64 bit Windows package. If you need help doing this see here.

## Update History

A complete change log is provided in the file `ChangeLog.txt` that is included in the download.

## License and Acknowledgements

Please see the file `License.txt` for details.

## Bugs and Feature Requests

Bugs can be reported or new features requested via the Issue Tracker.

If no similar report or request has been recorded already, use the New Issue link to add a new issue. Please select the most appropriate template from the Templates drop down list.

Please change the `Project-unspecified` label to `Project-md5`.

## About the Author

I'm Peter Johnson – a hobbyist programmer living in Ceredigion in West Wales, UK, writing write mainly in Delphi. My programs and code are available from http://www.delphidabbler.com/.

I can be contacted via the website.

Please let me know if you have any comments about the classes, but please use the Issue Tracker above to report bugs and request new features.
This document is copyright © 2010-2014, P D Johnson, www.delphidabbler.com.