hmac_sha384_preparekey(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… hmac_sha384_preparekey β€” like, the whole manual page, bestie

okay so this is hmac_sha384_preparekey(9) from the Kernel API Manual, and yes it's a whole kernel function, and yes you're gonna understand it. let's go 🫢


✨ NAME ✨

hmac_sha384_preparekey β€” get a key all set up and ready for HMAC-SHA384, periodt πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

void hmac_sha384_preparekey (struct hmac_sha384_key *key , const u8
*raw_key , size_t raw_key_len );

that's the whole vibe. it returns void, so like… it doesn't hand anything back, it just does the thing πŸ¦‹


🌸 ARGUMENTS 🌸

  • key β€” (output) this is the key structure you're initializing. it's the glow-up destination, bestie ✨
  • raw_key β€” the raw HMAC-SHA384 key, in all its unprocessed glory πŸ’œ
  • raw_key_len β€” the key length in bytes. and listen β€” all key lengths are supported. no minimum, no "oops too short", none of that. every length slays πŸ‘‘

🧚 NOTE 🧚

⚠️ the caller is responsible for zeroizing both the struct hmac_sha384_key and the raw key once they are no longer needed.

like, fr fr, that's on you. don't just leave your key material chilling in memory, that's not the move 😭


🌈 CONTEXT 🌈

Any context. literally any. she's flexible like that πŸ’…


⭐ SEE ALSO ⭐

okay this list is long and it ATE, so buckle up πŸ“ β€” Kernel file ./include/crypto/sha2.h, struct sha224_ctx(9), sha224_init(9), sha224_update(9), sha224_final(9), sha224(9), struct hmac_sha224_key(9), struct hmac_sha224_ctx(9), hmac_sha224_preparekey(9), hmac_sha224_init(9), hmac_sha224_init_usingrawkey(9), hmac_sha224_update(9), hmac_sha224_final(9), hmac_sha224(9), hmac_sha224_usingrawkey(9), struct sha256_ctx(9), sha256_init(9), sha256_update(9), sha256_final(9), sha256(9), sha256_finup_2x(9), sha256_finup_2x_is_optimized(9), struct hmac_sha256_key(9), struct hmac_sha256_ctx(9), hmac_sha256_preparekey(9), hmac_sha256_init(9), hmac_sha256_init_usingrawkey(9), hmac_sha256_update(9), hmac_sha256_final(9), hmac_sha256(9), hmac_sha256_usingrawkey(9), struct sha384_ctx(9), sha384_init(9), sha384_update(9), sha384_final(9), sha384(9), struct hmac_sha384_key(9), struct hmac_sha384_ctx(9), hmac_sha384_init(9), hmac_sha384_init_usingrawkey(9), hmac_sha384_update(9), hmac_sha384_final(9), hmac_sha384(9), hmac_sha384_usingrawkey(9), struct sha512_ctx(9), sha512_init(9), sha512_update(9), sha512_final(9), sha512(9), struct hmac_sha512_key(9), struct hmac_sha512_ctx(9), hmac_sha512_preparekey(9), hmac_sha512_init(9), hmac_sha512_init_usingrawkey(9), hmac_sha512_update(9), hmac_sha512_final(9), hmac_sha512(9), hmac_sha512_usingrawkey(9).

like I said. iconic. πŸ‘‘


πŸ’€ one little thing before you go β€” this page lives in ./include/crypto, it's from October 2026, and it's part of the Kernel API Manual (that's the hmac_sha384_preparekey(9) bit at the top and bottom, iykyk). go zeroize your keys, bestie. mwah πŸ’–πŸŽ€
πŸ“¦ where this page comes from