EVP_BLAKE2B512(3ossl)
π EVP_BLAKE2B512 π
okay so bestie, this is the 3ossl manual page for EVP_blake2b512 and EVP_blake2s256 β aka BLAKE2 For EVP β¨ like, the whole vibe of this page is "how do I get BLAKE2 into my EVP life," and honestly? iconic question. let's get into it π«Ά
πΈ SYNOPSIS πΈ
#include <openssl/evp.h>
const EVP_MD *EVP_blake2b512(void);
const EVP_MD *EVP_blake2s256(void);
two little functions, both returning const EVP_MD *, both taking void (so, nothing β they're that low-maintenance π
). we love a no-argument queen.
π¦ DESCRIPTION π¦
so BLAKE2 is literally an improved version of BLAKE β and BLAKE was submitted to the NIST SHA-3 algorithm competition, which is a whole mood. the BLAKE2s and BLAKE2b algorithms are described in RFC 7693, no cap.
EVP_blake2s256()β the BLAKE2s algorithm that produces a 256-bit output from a given input πEVP_blake2b512()β the BLAKE2b algorithm that produces a 512-bit output from a given input π₯
so the s one gives you 256 bits of output, and the b one gives you 512 bits. the naming is giving "self-explanatory, actually" and we're obsessed π
π NOTES π
okay listen, this part matters:
developers should be aware of the negative performance implications of calling these functions multiple times π like, calling them over and over is not the serve you think it is. instead, you should consider using EVP_MD_fetch(3) with EVP_MD-BLAKE2(7). see "Performance" in crypto(7) for further information, bestie β it's all spelled out there π
also, both algorithms support a variable-length digest, but that's only available through EVP_MD-BLAKE2(7). so likeβ¦ the variable-length thing is not on the menu here. not through these functions. periodt. π
β RETURN VALUES β
these functions return a EVP_MD structure that contains the implementation of the message digest π see EVP_MD_meth_new(3) for details of the EVP_MD structure β that's where the whole struct situation is explained iykyk.
π CONFORMING TO π
RFC 7693. that's it, that's the line π§
π SEE ALSO π
go read those too, fr fr π
π COPYRIGHT π
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>.
lowkey important: the license thing is real β don't just vibe past it π«Ά
and that's the page, bestie! π this was 3.5.0, dated 2026-09-25, and it's an EVP_BLAKE2B512(3ossl) situation from start to finish. go hash something gorgeous πβ¨π¦
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3-doc 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms