ddn.crypto.hash.sha,
ddn.crypto.hash.md5
MD5 Hash Implementation (RFC 1321).
DEPRECATED — Do not use for security-critical purposes.
MD5 is cryptographically broken. Practical collision attacks have been demonstrated since 2004, and chosen-prefix collisions are trivially obtainable. MD5 must not be used for digital signatures, certificate generation, password hashing, or any application that relies on collision resistance or preimage resistance.
Acceptable legacy uses include non-security checksums, data deduplication keys, and compatibility with existing protocols that mandate MD5. Even in those cases, consider migrating to SHA-256 or BLAKE2b at the earliest opportunity.
See Also
Types 1
MD5 message-digest algorithm (RFC 1321).
This hash is cryptographically broken. Produces a 16-byte (128-bit) digest. Provided only for backward compatibility with legacy protocols.
private uint[4] _stateprivate ulong _byteCountprivate ubyte[64] _bufferprivate size_t _bufferSizeubyte[] finish()Finalizes the digest computation and returns the 16-byte hash. Resets the instance to its initial state.void reset()Resets the digest to its initial state.void transform(const(ubyte)[] block)this()Constructs a new MD5 digest instance and resets its state.