EVP_MD5(3ossl)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’… EVP_MD5 πŸ’…

okay so bestie, this page lives in section 3 of the OpenSSL manual (3ossl), and it's the whole lowdown on EVP_md5 and EVP_md5_sha1 β€” the MD5 flavors of EVP. pull up a chair. πŸŽ€


✨ NAME ✨

EVP_md5, EVP_md5_sha1 β€” MD5 For EVP πŸ’–


🌸 SYNOPSIS 🌸

#include <openssl/evp.h>

const EVP_MD *EVP_md5(void);
const EVP_MD *EVP_md5_sha1(void);

look at those two little cuties. both const EVP_MD *, no arguments, no drama. πŸ¦‹


🧚 DESCRIPTION 🧚

so MD5 is a cryptographic hash function, standardized in RFC 1321 and designed by Ronald Rivest. iconic name, iconic hair (allegedly). it's the hash your older cousin used for everything in 2003. ✨

πŸ’€ btw, the serious part: the CMU Software Engineering Institute considers MD5 unsuitable for further use since its security has been severely compromised. like, no cap, do not use this for anything that needs to actually be secure. this is a vibe check MD5 does not pass. 😭

πŸ“ EVP_md5()

The MD5 algorithm which produces a 128-bit output from a given input. that's 128 bits, bestie, write it down. πŸ’…

πŸŽ€ EVP_md5_sha1()

A hash algorithm of SSL v3 that combines MD5 with SHA-1 as described in RFC 6101. it's giving "two hashes holding hands" 🫢

⚠️ WARNING: this algorithm is not intended for non-SSL usage. like, it said what it said. do not take it out of its SSL context, it will not slay. πŸ™ˆ

⭐ NOTES ⭐

developers should be aware of the negative performance implications of calling these functions multiple times 😬 and should consider using EVP_MD_fetch(3) with EVP_MD-MD5(7) or EVP_MD-MD5-SHA1(7) instead. See "Performance" in crypto(7) for further information. literally just go read it, iykyk. πŸ“š


🌈 RETURN VALUES 🌈

These functions return an EVP_MD structure that contains the implementation of the message digest. πŸ’– See EVP_MD_meth_new(3) for details of the EVP_MD structure. it's the main character struct, fr fr.


πŸ‘‘ CONFORMING TO πŸ‘‘

IETF RFC 1321. periodt. ✨


πŸ¦‹ 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 page, bestie!! πŸŽ€ mwah πŸ’‹ this was OpenSSL 3.5.6, dated 2026-04-07 β€” catch you on the next man page, love u, bye!! πŸ¦‹βœ¨πŸŒΈ

πŸ“¦ where this page comes from