{} { File: MD5.p } {} { © 2024 mrw } {} { Use this with MD5.lib for MD5 digests } unit MD5Lib; interface { An ongoing MD5 calculation. All fields are private. } type MD5Ctx = record state: array[0..3] of LongInt; count: array[0..1] of LongInt; buffer: packed array[0..63] of byte; end; { Call this exactly once, and only when using THINK Pascal < 2! } procedure InitLibP; { Initialize an MD5 context } procedure MD5InitP (var ctx: MD5Ctx); { Update an MD5 context with the given input } procedure MD5UpdateP (var ctx: MD5Ctx; input: Str255); { Retrieve the digest from the context and clear its contents } procedure MD5FinalP (var digest: Str255; var ctx: MD5Ctx); implementation { Implementation in MD5.lib } end.