ddn.crypto.hash.sha,
ddn.crypto.hash.blakeMD5 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.
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)void FF(ref uint a, uint b, uint c, uint d, uint x, uint s, uint ac)void GG(ref uint a, uint b, uint c, uint d, uint x, uint s, uint ac)void HH(ref uint a, uint b, uint c, uint d, uint x, uint s, uint ac)void II(ref uint a, uint b, uint c, uint d, uint x, uint s, uint ac)this()Constructs a new MD5 digest instance and resets its state.