crypto_shash_digest(9)
π crypto_shash_digest(9) β like, the Kernel API Manual entry, but make it make sense
okay so before we even start: this is crypto_shash_digest, and it lives in the Kernel API Manual. yes, that Kernel API Manual. we're doing kernel crypto today bestie, put your hair up π
β¨ NAME β¨
crypto_shash_digest β calculate the message digest for a buffer
like, you hand it a buffer, it hands you back a digest. that's the whole vibe. no cap. π¦
πΈ SYNOPSIS πΈ
int crypto_shash_digest (struct shash_desc *desc , const u8 *data ,
unsigned int len , u8 *out );
π§ ARGUMENTS π§
descβ bestie, this one's a "seecrypto_shash_final" situation. the docs are literally pointing you there, so go look πdataβ and this one says seecrypto_shash_update. yes, same energy.lenβ also seecrypto_shash_update. it's giving "refer to the group chat for context" honestly πoutβ and we're back to seecrypto_shash_final. full circle, iconic.
π DESCRIPTION π
so this function is a "short-hand" for calling crypto_shash_init, crypto_shash_update, and crypto_shash_final. that's it. that's the tea. it literally just bundles all three so you don't have to write them out yourself β main character energy for the lazy girlies π«Ά
and the parameters? they mean exactly the same thing as they do for those three separate functions. same meaning, no plot twist, no surprises. slay. β¨
π₯ CONTEXT π₯
softirq or process context. those are the only two vibes allowed here π
β RETURN β
0if the message digest creation was successful π< 0if an error occurred π
π SEE ALSO π
okay this is the long part, stay with me, we're getting through the whole list because nobody gets left behind:
- Kernel file
./include/crypto/hash.h Message Digest Algorithm Definitions(9),struct ahash_alg(9),struct shash_alg(9),Asynchronous Message Digest API(9)crypto_alloc_ahash(9),crypto_free_ahash(9),crypto_has_ahash(9),crypto_ahash_blocksize(9),crypto_ahash_digestsize(9),crypto_ahash_statesize(9)crypto_ahash_reqtfm(9),crypto_ahash_reqsize(9),crypto_ahash_setkey(9),crypto_ahash_finup(9),crypto_ahash_final(9),crypto_ahash_digest(9)crypto_ahash_export(9),crypto_ahash_import(9),crypto_ahash_init(9),crypto_ahash_update(9)Asynchronous Hash Request Handle(9),ahash_request_set_tfm(9),ahash_request_alloc(9),ahash_request_free(9),ahash_request_set_callback(9),ahash_request_set_crypt(9),ahash_request_set_virt(9)Synchronous Message Digest API(9),crypto_alloc_shash(9),crypto_free_shash(9),crypto_shash_blocksize(9),crypto_shash_digestsize(9),crypto_shash_descsize(9)crypto_shash_setkey(9),crypto_shash_tfm_digest(9),crypto_shash_export(9),crypto_shash_import(9)crypto_shash_init(9),crypto_shash_finup(9),crypto_shash_update(9),crypto_shash_final(9)
like I said. the whole list. we ate that ππ₯
ngl this page is short but she's efficient. a true icon. go readcrypto_shash_init,crypto_shash_update, andcrypto_shash_finalif you want the full lore β iykyk π§ββοΈ
okay that's it, that's the manual page, you're literally a shash expert now, so proud of you π anyway, this little number comes from ./include/crypto and it's dated October 2026 β mwah, catch you in the next manpage bestie πππ
π¦ 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