hmac_sha384(9)
π hmac_sha384(9) β the kernel API manual, bestie edition π
okay so picture this: you're deep in the kernel (section 9, ofc, that's the Kernel API Manual, iykyk), and you need your HMAC-SHA384 in one shot using a key you've already prepped. that's the whole vibe of hmac_sha384. one call, done, slay. β¨
πΈ NAME πΈ
hmac_sha384 β compute HMAC-SHA384 in one shot, using a prepared key. literally that's it, that's the function. π«Ά
π¦ SYNOPSIS π¦
void hmac_sha384 (const struct hmac_sha384_key *key , const u8 *data ,
size_t data_len , u8 out[static SHA384_DIGEST_SIZE] );
no cap, that's the whole signature. keep it exact, she's sensitive about her types. π
π ARGUMENTS π
keyβ the prepared HMAC key. key word being prepared, bestie β you already did thehmac_sha384_preparekeything. don't come in here with raw key energy and expect it to hit. πdataβ the message data. the actual stuff you're hashing. the main character of this whole operation. πdata_lenβ the data length in bytes. yes queen, we count in bytes here, that's just how it is. πoutβ (output) the resulting HMAC-SHA384 value. she receives the glow-up and holds it.outisstatic-sized atSHA384_DIGEST_SIZE, so the buffer situation is already handled for you. π
β¨ DESCRIPTION β¨
okay so real talk: if you're using the key only once, consider using hmac_sha384_usingrawkey instead. it's giving "why prep a key you're never gonna use again" energy. lowkey a good tip. π
π CONTEXT π
Any context. literally any. no restrictions, no locks, no "sorry you can't call me from here". she's flexible like that. π
π₯ SEE ALSO π₯
the friend group, the whole extended universe, the group chat if you will. every single one of these, no skipping, that's the roster: π«Ά
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_preparekey(9), hmac_sha384_init(9), hmac_sha384_init_usingrawkey(9), hmac_sha384_update(9), hmac_sha384_final(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. the whole friend group. ate. π
and that's the page, bestie π§ β brought to you by the fine folks over at ./include/crypto, dated October 2026. go forth and HMAC responsibly. ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms