hmac_sha256_update(9)
π hmac_sha256_update β bestie's field guide
okay so this is hmac_sha256_update(9) from the Kernel API Manual, and honestly? she's a little icon. lowkey one of the hardest-working functions in the whole crypto family and she doesn't even need a big speech. let's get into it π
β¨ NAME β¨
hmac_sha256_update β the girlies who feed message data into an HMAC-SHA256 context. that's literally her whole job. update an HMAC-SHA256 context with message data, periodt π
πΈ SYNOPSIS πΈ
void hmac_sha256_update (struct hmac_sha256_ctx *ctx , const u8 *data ,
size_t data_len );
look at her. three params, no drama, void return because she's not here to give you results, she's here to do the work. main character energy fr β¨
π¦ ARGUMENTS π¦
ctxβ the HMAC context you're updating. and listen, bestie, this one is non-negotiable: it must have been initialized first. no initializing, no updating. that's the rule πdataβ the message data itself. the actual content. the payload. the moment πdata_lenβ how longdatais, measured in bytes. don't guess, don't vibe-check it, just tell her the length πΈ
β DESCRIPTION β
This can be called any number of times.
that's it. that's the whole description. she's confident, she doesn't over-explain, she just lets you call her as many times as you need π₯ like okay versatility queen!!
no cap, "any number of times" is doing a lot of heavy lifting here β you can keep feeding her chunks of data over and over and she'll just keep updating the context like the absolute icon she is π
π CONTEXT π
Any context. all of them. every single one. she does not discriminate, she does not gatekeep, she is welcome everywhere π«Άβ¨
π SEE ALSO π
Kernel file ./include/crypto/sha2.h β plus a whole extended family, because the sha2 crew is large and they all show up to the group chat:
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_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(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. large family. iykyk π§
π friendly reminder before you go: ctx must have been initialized. that's not a suggestion, that's the whole vibe check. do not skip it, do not pass go, do not collect $200.
and that's the page, bestie!! brought to you by the source at ./include/crypto, dated October 2026, and of course our girl hmac_sha256_update(9) herself. slay, ate, no crumbs. πβ¨π
π¦ 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