EVP_MDC2(3ossl)

πŸ“¦ version 3.5.0, in opensuse-leap 16.0

πŸ’… EVP_MDC2 β€” like, the whole MDC-2 situation (OpenSSL 3ossl, bestie)

Okay so this is the EVP_MDC2(3ossl) page β€” yes, the OpenSSL one, hi, welcome, come sit with me 🫢

✨ NAME ✨

EVP_mdc2 β€” MDC-2 For EVP. That's it, that's the name, we love a short intro. πŸ’–

🌸 SYNOPSIS 🌸

#include <openssl/evp.h>

const EVP_MD *EVP_mdc2(void);

Literally just one function. Babygirl of a synopsis. πŸŽ€

πŸ¦‹ DESCRIPTION πŸ¦‹

So MDC-2 (that's Modification Detection Code 2, also known as Meyer-Schilling) is a cryptographic hash function β€” and plot twist, it's built on top of a block cipher, not the other way around. Iconic behaviour, honestly. πŸ”₯

Heads up bestie: this implementation is only available with the legacy provider. So if you're not loading the legacy provider, this whole thing is gonna be a no-show. 😭

πŸ’œ EVP_mdc2()

This is the MDC-2DES algorithm β€” the vibe of using MDC-2 together with the DES block cipher. It takes your input and produces a 128-bit output. 128 bits! Gorgeous, precise, slay. ✨

⭐ NOTES ⭐

Okay so this is the part where I put on my serious glasses πŸ‘“ β€” developers should be aware of the negative performance implications of calling this function multiple times, and should consider using EVP_MD_fetch(3) with EVP_MD-MDC2(7) instead. For the whole story, see "Performance" in crypto(7).

Fr fr, this is one of those "don't call it in a hot loop, please" situations. Fetch once, be happy. πŸ™ˆ

🧚 RETURN VALUES 🧚

These functions return an EVP_MD structure that contains the implementation of the message digest. Need the deets on the EVP_MD structure itself? That's EVP_MD_meth_new(3). πŸ“š

πŸ‘‘ CONFORMING TO πŸ‘‘

ISO/IEC 10118-2:2000 Hash-Function 2, with DES as the underlying block cipher. Standards-compliant and cute about it. 🌈

🌸 SEE ALSO 🌸

Copyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


And that's the whole page, bestie β€” no notes, ate, periodt. πŸ’… This was OpenSSL 3.5.0, dated 2026-09-25, filed under EVP_MDC2(3ossl). Go forth and hash responsibly! πŸ“πŸ«Ά

πŸ“¦ where this page comes from