p The MD2 routines should not be used for any security-related purpose.
p The .Fn MD2Init , .Fn MD2Update , and .Fn MD2Final functions are the core functions. Allocate an MD2_CTX, initialize it with .Fn MD2Init , run over the data with .Fn MD2Update , and finally extract the result using .Fn MD2Final .
p .Fn MD2End is a wrapper for .Fn MD2Final which converts the return value to a 33-character (including the terminating '\e0') ASCII string which represents the 128 bits in hexadecimal.
p .Fn MD2File calculates the digest of a file, and uses .Fn MD2End to return the result. If the file cannot be opened, a null pointer is returned. .Fn MD2Data calculates the digest of a chunk of data in memory, and uses .Fn MD2End to return the result.
p When using .Fn MD2End , .Fn MD2File , or .Fn MD2Data , the .Ar buf argument can be a null pointer, in which case the returned string is allocated with .Xr malloc 3 and subsequently must be explicitly deallocated using .Xr free 3 after use. If the .Ar buf argument is non-null it must point to at least 33 characters of buffer space. .Sh SEE ALSO .Xr md4 3 , .Xr md5 3 , .Xr openssl_MD2 3 , .Xr openssl_MD4 3 , .Xr openssl_MD5 3 , .Rs .%A B. Kaliski .%T The MD2 Message-Digest Algorithm .%O RFC 1319 .Re .Rs .%A RSA Laboratories .%T Frequently Asked Questions About today's Cryptography .Re .Sh HISTORY These functions appeared in .Nx 1.3 . .Sh AUTHORS .An -nosplit The original MD2 routines were developed by .An RSA Data Security, Inc. , and published in the above references. This code is a public domain implementation by .An Andrew Brown . .Sh BUGS No method is known to exist which finds two files having the same hash value, nor to find a file with a specific hash value. There is on the other hand no guarantee that such a method doesn't exist.