EVP_SM3(3SSL)

πŸ’– EVP_SM3 πŸ’–

okay bestie, welcome to the EVP_SM3(3SSL) page β€” this is the OpenSSL manual, and we're talking about SM3 for EVP. it's short, it's sweet, it's giving "small but mighty" ✨


✨ NAME ✨

EVP_sm3 β€” SM3 for EVP πŸŽ€


🌸 SYNOPSIS 🌸

#include <openssl/evp.h>

const EVP_MD *EVP_sm3(void);

like, that's the whole summoning ritual. two lines and a dream 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

so SM3 is a cryptographic hash function with a 256-bit output, and it's defined in GB/T 32905-2016. she's official, she's standardised, she's here πŸ’…

  • EVP_sm3() β€” the SM3 hash function. that's it. that's the girl. 🌈

πŸ’€ NOTES πŸ’€

bestie, listen, this part is important and it's giving ✨warning✨ energy:

calling this function multiple times has negative performance implications. like, not me finding out the hard way 😭

developers should be aware of that, and should consider using EVP_MD_fetch(3) with EVP_MD-SM3(7) instead. for the full tea, see "Performance" in crypto(7). πŸ”₯


πŸ‘‘ RETURN VALUES πŸ‘‘

these functions return a EVP_MD structure that contains the implementation of the message digest. so you get the whole vibe back β€” the implementation, all wrapped up, ready to go 🎁


⭐ CONFORMING TO ⭐

  • GB/T 32905-2016
  • GM/T 0004-2012

she's certified, she's compliant, she ate πŸ’…βœ¨


πŸ”₯ SEE ALSO πŸ”₯

go read those too, iykyk 🧚


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

Copyright 2017 Ribose Inc. 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 a wrap, my love 🫢 this was EVP_SM3(3SSL) from OpenSSL 4.0.3, dated 2026-09-29 β€” no cap, that's the version and the date, periodt. πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from