EVP_HCRYPTO_MD2(3)

πŸ“¦ in nixpkgs unstable

✨ NAME ✨

Okay so first things first: this page is EVP_HCRYPTO_MD2(3), straight out of the Heimdal crypto library, and it's the EVP generic crypto functions page. It's a whole buffet of cipher getters, digest getters, and the context plumbing that makes them actually go. No cap, this thing is stacked. 🫢

🌸 Functions 🌸

Here's the entire roster, in order, exactly as declared β€” nobody gets left behind, not one single signature:

const EVP_CIPHER * EVP_wincrypt_des_ede3_cbc (void)
const EVP_CIPHER * EVP_hcrypto_aes_128_cbc (void)
const EVP_CIPHER * EVP_hcrypto_aes_192_cbc (void)
const EVP_CIPHER * EVP_hcrypto_aes_256_cbc (void)
const EVP_CIPHER * EVP_hcrypto_aes_128_cfb8 (void)
const EVP_CIPHER * EVP_hcrypto_aes_192_cfb8 (void)
const EVP_CIPHER * EVP_hcrypto_aes_256_cfb8 (void)
const EVP_MD * EVP_hcrypto_sha256 (void)
const EVP_MD * EVP_hcrypto_sha384 (void)
const EVP_MD * EVP_hcrypto_sha512 (void)
const EVP_MD * EVP_hcrypto_sha1 (void)
const EVP_MD * EVP_hcrypto_md5 (void)
const EVP_MD * EVP_hcrypto_md4 (void)
const EVP_MD * EVP_hcrypto_md2 (void)
const EVP_CIPHER * EVP_hcrypto_des_cbc (void)
const EVP_CIPHER * EVP_hcrypto_des_ede3_cbc (void)
const EVP_CIPHER * EVP_hcrypto_rc2_cbc (void)
const EVP_CIPHER * EVP_hcrypto_rc2_40_cbc (void)
const EVP_CIPHER * EVP_hcrypto_rc2_64_cbc (void)
const EVP_CIPHER * EVP_hcrypto_camellia_128_cbc (void)
const EVP_CIPHER * EVP_hcrypto_camellia_192_cbc (void)
const EVP_CIPHER * EVP_hcrypto_camellia_256_cbc (void)
size_t EVP_MD_size (const EVP_MD *md)
size_t EVP_MD_block_size (const EVP_MD *md)
EVP_MD_CTX * EVP_MD_CTX_create (void)
void EVP_MD_CTX_init (EVP_MD_CTX *ctx) HC_DEPRECATED
void EVP_MD_CTX_destroy (EVP_MD_CTX *ctx)
int EVP_MD_CTX_cleanup (EVP_MD_CTX *ctx) HC_DEPRECATED
const EVP_MD * EVP_MD_CTX_md (EVP_MD_CTX *ctx)
size_t EVP_MD_CTX_size (EVP_MD_CTX *ctx)
size_t EVP_MD_CTX_block_size (EVP_MD_CTX *ctx)
int EVP_DigestInit_ex (EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE
    *engine)
int EVP_DigestUpdate (EVP_MD_CTX *ctx, const void *data, size_t size)
int EVP_DigestFinal_ex (EVP_MD_CTX *ctx, void *hash, unsigned int *size)
int EVP_Digest (const void *data, size_t dsize, void *hash, unsigned int
    *hsize, const EVP_MD *md, ENGINE *engine)
const EVP_MD * EVP_sha256 (void)
const EVP_MD * EVP_sha384 (void)
const EVP_MD * EVP_sha512 (void)
const EVP_MD * EVP_sha1 (void)
const EVP_MD * EVP_sha (void)
const EVP_MD * EVP_md5 (void)
const EVP_MD * EVP_md4 (void)
const EVP_MD * EVP_md2 (void)
const EVP_MD * EVP_md_null (void)
size_t EVP_CIPHER_block_size (const EVP_CIPHER *c)
size_t EVP_CIPHER_key_length (const EVP_CIPHER *c)
size_t EVP_CIPHER_iv_length (const EVP_CIPHER *c)
void EVP_CIPHER_CTX_init (EVP_CIPHER_CTX *c)
int EVP_CIPHER_CTX_cleanup (EVP_CIPHER_CTX *c)
int EVP_CIPHER_CTX_set_key_length (EVP_CIPHER_CTX *c, int length)
const EVP_CIPHER * EVP_CIPHER_CTX_cipher (EVP_CIPHER_CTX *ctx)
size_t EVP_CIPHER_CTX_block_size (const EVP_CIPHER_CTX *ctx)
size_t EVP_CIPHER_CTX_key_length (const EVP_CIPHER_CTX *ctx)
size_t EVP_CIPHER_CTX_iv_length (const EVP_CIPHER_CTX *ctx)
unsigned long EVP_CIPHER_CTX_flags (const EVP_CIPHER_CTX *ctx)
int EVP_CIPHER_CTX_mode (const EVP_CIPHER_CTX *ctx)
void * EVP_CIPHER_CTX_get_app_data (EVP_CIPHER_CTX *ctx)
void EVP_CIPHER_CTX_set_app_data (EVP_CIPHER_CTX *ctx, void *data)
int EVP_CipherInit_ex (EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE
    *engine, const void *key, const void *iv, int encp)
int EVP_CipherUpdate (EVP_CIPHER_CTX *ctx, void *out, int *outlen, void
    *in, size_t inlen)
int EVP_CipherFinal_ex (EVP_CIPHER_CTX *ctx, void *out, int *outlen)
const EVP_CIPHER * EVP_enc_null (void)
const EVP_CIPHER * EVP_rc2_cbc (void)
const EVP_CIPHER * EVP_rc2_40_cbc (void)
const EVP_CIPHER * EVP_rc2_64_cbc (void)
const EVP_CIPHER * EVP_rc4 (void)
const EVP_CIPHER * EVP_rc4_40 (void)
const EVP_CIPHER * EVP_des_cbc (void)
const EVP_CIPHER * EVP_des_ede3_cbc (void)
const EVP_CIPHER * EVP_aes_128_cbc (void)
const EVP_CIPHER * EVP_aes_192_cbc (void)
const EVP_CIPHER * EVP_aes_256_cbc (void)
const EVP_CIPHER * EVP_aes_128_cfb8 (void)
const EVP_CIPHER * EVP_aes_192_cfb8 (void)
const EVP_CIPHER * EVP_aes_256_cfb8 (void)
const EVP_CIPHER * EVP_camellia_128_cbc (void)
const EVP_CIPHER * EVP_camellia_192_cbc (void)
const EVP_CIPHER * EVP_camellia_256_cbc (void)
const EVP_CIPHER * EVP_get_cipherbyname (const char *name)
int EVP_BytesToKey (const EVP_CIPHER *type, const EVP_MD *md, const void
    *salt, const void *data, size_t datalen, unsigned int count, void
    *keydata, void *ivdata)

πŸ’– Detailed Description πŸ’–

Lowkey this is the part where we'd normally explain everything, but the page is like: go read EVP - generic crypto interface for the description and the examples, bestie. That's where the lore lives. ✨


πŸ”₯ Function Documentation πŸ”₯

Strap in, we're going function by function. iykyk. πŸ’…

const EVP_CIPHER* EVP_aes_128_cbc (void)

Your AES-128 cipher type. That's the vibe.

Returns: the AES-128 EVP_CIPHER pointer.

Examples: example_evp_cipher.c.

const EVP_CIPHER* EVP_aes_128_cfb8 (void)

It's the AES-128 cipher type β€” yes, CFB8 flavoured, the heading says it plainly.

Returns: the AES-128 EVP_CIPHER pointer.

const EVP_CIPHER* EVP_aes_192_cbc (void)

The AES-192 cipher type, serving 192-bit realness. πŸ‘‘

Returns: the AES-192 EVP_CIPHER pointer.

const EVP_CIPHER* EVP_aes_192_cfb8 (void)

The AES-192 cipher type, again.

Returns: the AES-192 EVP_CIPHER pointer.

const EVP_CIPHER* EVP_aes_256_cbc (void)

The AES-256 cipher type. Main character cipher energy, genuinely.

Returns: the AES-256 EVP_CIPHER pointer.

const EVP_CIPHER* EVP_aes_256_cfb8 (void)

The AES-256 cipher type, same deal.

Returns: the AES-256 EVP_CIPHER pointer.

int EVP_BytesToKey (const EVP_CIPHER * type, const EVP_MD * md, const void * salt, const void * data, size_t datalen, unsigned int count, void * keydata, void * ivdata)

Okay so this hands you a legacy string to key function β€” the one PEM files use. (The page spells it "legancy" and honestly, iconic typo, we keep it.) πŸŽ€

🚨 Bestie, listen: new protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2.0 (peep PKCS5_PBKDF2_HMAC_SHA1()). This one is legacy for a reason. Don't build your new thing on it, fr fr.

Parameters:

  • type β€” type of cipher to use
  • md β€” message digest to use
  • salt β€” salt salt string, should be an binary 8 byte buffer.
  • data β€” the password/input key string.
  • datalen β€” length of data parameter.
  • count β€” iteration counter.
  • keydata β€” output keydata, needs to of the size EVP_CIPHER_key_length().
  • ivdata β€” output ivdata, needs to of the size EVP_CIPHER_block_size().

Returns: the size of derived key.

const EVP_CIPHER* EVP_camellia_128_cbc (void)

The Camellia-128 cipher type. 🌸

Returns: the Camellia-128 EVP_CIPHER pointer.

const EVP_CIPHER* EVP_camellia_192_cbc (void)

The Camellia-198 cipher type. (Not a typo on my end β€” the page really does say 198 here, and we're relaying it exactly as written, no editing the vibes. πŸ‘€)

Returns: the Camellia-198 EVP_CIPHER pointer.

const EVP_CIPHER* EVP_camellia_256_cbc (void)

The Camellia-256 cipher type.

Returns: the Camellia-256 EVP_CIPHER pointer.

size_t EVP_CIPHER_block_size (const EVP_CIPHER * c)

Returns the block size of the cipher. Size check, but make it crypto.

Parameters: c β€” cipher to get the block size from.

Returns: the block size of the cipher.

Examples: example_evp_cipher.c.

size_t EVP_CIPHER_CTX_block_size (const EVP_CIPHER_CTX * ctx)

Returns the block size of the cipher context β€” same energy, context edition.

Parameters: ctx β€” cipher context to get the block size from.

Returns: the block size of the cipher context.

const EVP_CIPHER* EVP_CIPHER_CTX_cipher (EVP_CIPHER_CTX * ctx)

Gives you back the EVP_CIPHER for a EVP_CIPHER_CTX context. Like asking your context "girl, which cipher are you?" πŸ’…

Parameters: ctx β€” the context to get the cipher type from.

Returns: the EVP_CIPHER pointer.

int EVP_CIPHER_CTX_cleanup (EVP_CIPHER_CTX * c)

Cleans up the EVP_CIPHER_CTX context. Tidy up after yourself, bestie. 🧚

Parameters: c β€” the cipher to clean up.

Returns: 1 on success.

Examples: example_evp_cipher.c.

unsigned long EVP_CIPHER_CTX_flags (const EVP_CIPHER_CTX * ctx)

Gets the flags for an EVP_CIPHER_CTX context.

Parameters: ctx β€” the EVP_CIPHER_CTX to get the flags from

Returns: the flags for an EVP_CIPHER_CTX.

void* EVP_CIPHER_CTX_get_app_data (EVP_CIPHER_CTX * ctx)

Gets the app data for an EVP_CIPHER_CTX context. Your little stash of extras. πŸ“

Parameters: ctx β€” the EVP_CIPHER_CTX to get the app data from

Returns: the app data for an EVP_CIPHER_CTX.

void EVP_CIPHER_CTX_init (EVP_CIPHER_CTX * c)

Initiates a EVP_CIPHER_CTX context. When you're done with it, clean up with EVP_CIPHER_CTX_cleanup(). Ship it and shut it down. ✨

Parameters: c β€” the cipher initiate.

Examples: example_evp_cipher.c.

size_t EVP_CIPHER_CTX_iv_length (const EVP_CIPHER_CTX * ctx)

Returns the IV size of the cipher context.

Parameters: ctx β€” cipher context to get the IV size from.

Returns: the IV size of the cipher context.

size_t EVP_CIPHER_CTX_key_length (const EVP_CIPHER_CTX * ctx)

Returns the key size of the cipher context.

Parameters: ctx β€” cipher context to get the key size from.

Returns: the key size of the cipher context.

int EVP_CIPHER_CTX_mode (const EVP_CIPHER_CTX * ctx)

Gets the mode for an EVP_CIPHER_CTX context.

Parameters: ctx β€” the EVP_CIPHER_CTX to get the mode from

Returns: the mode for an EVP_CIPHER_CTX.

void EVP_CIPHER_CTX_set_app_data (EVP_CIPHER_CTX * ctx, void * data)

Sets the app data for an EVP_CIPHER_CTX context. Tuck your stuff in there. πŸŽ€

Parameters:

  • ctx β€” the EVP_CIPHER_CTX to set the app data for
  • data β€” the app data to set for an EVP_CIPHER_CTX.

int EVP_CIPHER_CTX_set_key_length (EVP_CIPHER_CTX * c, int length)

If the cipher type supports it, changes the key length. Key glow-up, conditional on the cipher being cool with it. πŸ’…

Parameters:

  • c β€” the cipher context to change the key length for
  • length β€” new key length

Returns: 1 on success.

size_t EVP_CIPHER_iv_length (const EVP_CIPHER * c)

Returns the IV size of the cipher.

Parameters: c β€” cipher to get the IV size from.

Returns: the IV size of the cipher.

Examples: example_evp_cipher.c.

size_t EVP_CIPHER_key_length (const EVP_CIPHER * c)

Returns the key size of the cipher.

Parameters: c β€” cipher to get the key size from.

Returns: the key size of the cipher.

Examples: example_evp_cipher.c.

int EVP_CipherFinal_ex (EVP_CIPHER_CTX * ctx, void * out, int * outlen)

Encipher/decipher final data. The grand finale of your crypto operation. πŸ”₯

Parameters:

  • ctx β€” the cipher context.
  • out β€” output data from the operation.
  • outlen β€” output length
⚠️ Heads up: the input length needs to be at least EVP_CIPHER_block_size() bytes long. Do not skimp.

See EVP Cipher for an example how to use this function.

Returns: 1 on success.

Examples: example_evp_cipher.c.

int EVP_CipherInit_ex (EVP_CIPHER_CTX * ctx, const EVP_CIPHER * c, ENGINE * engine, const void * key, const void * iv, int encp)

Initiates the EVP_CIPHER_CTX context to encrypt or decrypt data. When you're done, clean up with EVP_CIPHER_CTX_cleanup(). πŸ¦‹

Parameters:

  • ctx β€” context to initiate
  • c β€” cipher to use.
  • engine β€” crypto engine to use, NULL to select default.
  • key β€” the crypto key to use, NULL will use the previous value.
  • iv β€” the IV to use, NULL will use the previous value.
  • encp β€” non zero will encrypt, -1 use the previous value.

Returns: 1 on success.

✨ Examples: example_evp_cipher.c.


πŸ’… int EVP_CipherUpdate (EVP_CIPHER_CTX * ctx, void * out, int * outlen, void * in, size_t inlen)

Okay so this one is literally the encipher/decipher-partial-data girlie πŸ’–.

Parameters, bestie:

  • ctx β€” the cipher context.
  • out β€” output data from the operation.
  • outlen β€” output length.
  • in β€” input data to the operation.
  • inlen β€” length of data.

The output buffer length should at least be EVP_CIPHER_block_size() byte longer then the input length.

See EVP Cipher for an example how to use this function.

Returns: 1 on success.

If there in no spare bytes in the left from last Update and the input length is on the block boundery, the EVP_CipherUpdate() function can take a shortcut (and preformance gain) and directly encrypt the data, otherwise we hav to fix it up and store extra it the EVP_CIPHER_CTX.

✨ Examples: example_evp_cipher.c.

πŸŽ€ const EVP_CIPHER* EVP_des_cbc (void)

The DES cipher type. So iconic.

Returns: the DES-CBC EVP_CIPHER pointer.

🌸 const EVP_CIPHER* EVP_des_ede3_cbc (void)

The tripple DES cipher type. Yes, tripple with two p’s β€” the page said what it said πŸ’€.

Returns: the DES-EDE3-CBC EVP_CIPHER pointer.

πŸ¦‹ int EVP_Digest (const void * data, size_t dsize, void * hash, unsigned int * hsize, const EVP_MD * md, ENGINE * engine)

This function does the whole EVP_MD_CTX_create(), EVP_DigestInit_ex(), EVP_DigestUpdate(), EVP_DigestFinal_ex(), EVP_MD_CTX_destroy() dance in one call. Main character energy fr fr.

Parameters:

  • data β€” the data to update the context with.
  • dsize β€” length of data.
  • hash β€” output data of at least EVP_MD_size() length.
  • hsize β€” output length of hash.
  • md β€” message digest to use.
  • engine β€” engine to use, NULL for default engine.

Returns: 1 on success.

πŸ’œ int EVP_DigestFinal_ex (EVP_MD_CTX * ctx, void * hash, unsigned int * size)

Complete the message digest. Wrap it up, bestie ✨.

Parameters:

  • ctx β€” the context to complete.
  • hash β€” the output of the message digest function. At least EVP_MD_size().
  • size β€” the output size of hash.

Returns: 1 on success.

🧚 int EVP_DigestInit_ex (EVP_MD_CTX * ctx, const EVP_MD * md, ENGINE * engine)

Init a EVP_MD_CTX for use a specific message digest and engine.

Parameters:

  • ctx β€” the message digest context to init.
  • md β€” the message digest to use.
  • engine β€” the engine to use, NULL to use the default engine.

Returns: 1 on success.

πŸ“ int EVP_DigestUpdate (EVP_MD_CTX * ctx, const void * data, size_t size)

Update the digest with some data. Feed the context, bestie 🫢.

Parameters:

  • ctx β€” the context to update.
  • data β€” the data to update the context with.
  • size β€” length of data.

Returns: 1 on success.

🌈 const EVP_CIPHER* EVP_enc_null (void)

The NULL cipher type β€” does no encryption/decryption. It’s giving β€œI’m just here for the vibe check.”

Returns: the null EVP_CIPHER pointer.

πŸ”₯ const EVP_CIPHER* EVP_get_cipherbyname (const char * name)

Get the cipher type using their name.

Parameters:

  • name β€” the name of the cipher.

Returns: the selected EVP_CIPHER pointer or NULL if not found.

πŸ‘‘ const EVP_CIPHER* EVP_hcrypto_aes_128_cbc (void)

The AES-128 cipher type (hcrypto).

Returns: the AES-128 EVP_CIPHER pointer.

⭐ const EVP_CIPHER* EVP_hcrypto_aes_128_cfb8 (void)

The AES-128 CFB8 cipher type (hcrypto).

Returns: the AES-128 EVP_CIPHER pointer.

πŸ’– const EVP_CIPHER* EVP_hcrypto_aes_192_cbc (void)

The AES-192 cipher type (hcrypto).

Returns: the AES-192 EVP_CIPHER pointer.

πŸŽ€ const EVP_CIPHER* EVP_hcrypto_aes_192_cfb8 (void)

The AES-192 CFB8 cipher type (hcrypto).

Returns: the AES-192 EVP_CIPHER pointer.

🌸 const EVP_CIPHER* EVP_hcrypto_aes_256_cbc (void)

The AES-256 cipher type (hcrypto).

Returns: the AES-256 EVP_CIPHER pointer.

πŸ¦‹ const EVP_CIPHER* EVP_hcrypto_aes_256_cfb8 (void)

The AES-256 CFB8 cipher type (hcrypto).

Returns: the AES-256 EVP_CIPHER pointer.

πŸ’œ const EVP_CIPHER* EVP_hcrypto_camellia_128_cbc (void)

The Camellia-128 cipher type β€” hcrypto.

Returns: the Camellia-128 EVP_CIPHER pointer.

🧚 const EVP_CIPHER* EVP_hcrypto_camellia_192_cbc (void)

The Camellia-198 cipher type β€” hcrypto. Yes bestie, the page says 198 here, I’m just the messenger πŸ’€.

Returns: the Camellia-198 EVP_CIPHER pointer.

πŸ“ const EVP_CIPHER* EVP_hcrypto_camellia_256_cbc (void)

The Camellia-256 cipher type β€” hcrypto.

Returns: the Camellia-256 EVP_CIPHER pointer.

🌈 const EVP_CIPHER* EVP_hcrypto_des_cbc (void)

The DES cipher type.

Returns: the DES-CBC EVP_CIPHER pointer.

πŸ”₯ const EVP_CIPHER* EVP_hcrypto_des_ede3_cbc (void)

The tripple DES cipher type β€” hcrypto.

Returns: the DES-EDE3-CBC EVP_CIPHER pointer.

πŸ‘‘ const EVP_MD* EVP_hcrypto_md2 (void)

The message digest MD2 β€” hcrypto.

Returns: the message digest type.

⭐ const EVP_MD* EVP_hcrypto_md4 (void)

The message digest MD4 β€” hcrypto.

Returns: the message digest type.

πŸ’– const EVP_MD* EVP_hcrypto_md5 (void)

The message digest MD5 β€” hcrypto.

Returns: the message digest type.

πŸŽ€ const EVP_CIPHER* EVP_hcrypto_rc2_40_cbc (void)

The RC2-40 cipher type.

Returns: the RC2-40 EVP_CIPHER pointer.

🌸 const EVP_CIPHER* EVP_hcrypto_rc2_64_cbc (void)

The RC2-64 cipher type.

Returns: the RC2-64 EVP_CIPHER pointer.

πŸ¦‹ const EVP_CIPHER* EVP_hcrypto_rc2_cbc (void)

The RC2 cipher type β€” hcrypto.

Returns: the RC2 EVP_CIPHER pointer.

πŸ’œ const EVP_MD* EVP_hcrypto_sha1 (void)

The message digest SHA1 β€” hcrypto.

Returns: the message digest type.

🧚 const EVP_MD* EVP_hcrypto_sha256 (void)

The message digest SHA256 β€” hcrypto.

Returns: the message digest type.

πŸ“ const EVP_MD* EVP_hcrypto_sha384 (void)

The message digest SHA384 β€” hcrypto.

Returns: the message digest type.

🌈 const EVP_MD* EVP_hcrypto_sha512 (void)

The message digest SHA512 β€” hcrypto.

Returns: the message digest type.

πŸ”₯ const EVP_MD* EVP_md2 (void)

The message digest MD2.

Returns: the message digest type.

πŸ‘‘ const EVP_MD* EVP_md4 (void)

The message digest MD4.

Returns: the message digest type.

⭐ const EVP_MD* EVP_md5 (void)

The message digest MD5.

Returns: the message digest type.

πŸ’– size_t EVP_MD_block_size (const EVP_MD * md)

Return the blocksize of the message digest function.

Parameters:

  • md β€” the evp message.

Returns: size β€” size of the message digest block size.

πŸŽ€ size_t EVP_MD_CTX_block_size (EVP_MD_CTX * ctx)

Return the blocksize of the message digest function.

Parameters:

  • ctx β€” the evp message digest context.

Returns: size β€” size of the message digest block size.

🌸 int EVP_MD_CTX_cleanup (EVP_MD_CTX * ctx)

Free the resources used by the EVP_MD context.

Parameters:

  • ctx β€” the context to free the resources from.

Returns: 1 on success.

πŸ¦‹ EVP_MD_CTX* EVP_MD_CTX_create (void)

Allocate a message digest context object. Free with EVP_MD_CTX_destroy().

Returns: a newly allocated message digest context object.

πŸ’œ void EVP_MD_CTX_destroy (EVP_MD_CTX * ctx)

Free a message digest context object.

Parameters:

  • ctx β€” context to free.

🧚 void EVP_MD_CTX_init (EVP_MD_CTX * ctx)

Initiate a message digest context object. Deallocate with EVP_MD_CTX_cleanup().

⚠️ Bestie, the page literally says: β€œPlease use EVP_MD_CTX_create() instead.” So don’t be out here acting brand new with the old path unless you have to πŸ’….

Parameters:

  • ctx β€” variable to initiate.

πŸ“ const EVP_MD* EVP_MD_CTX_md (EVP_MD_CTX * ctx)

Get the EVP_MD use for a specified context.

Parameters:

  • ctx β€” the EVP_MD context to get the EVP_MD for.

Returns: the EVP_MD used for the context.

🌈 size_t EVP_MD_CTX_size (EVP_MD_CTX * ctx)

Return the output size of the message digest function.

Parameters:

  • ctx β€” the evp message digest context.

Returns: size β€” output size of the message digest function.

πŸ”₯ const EVP_MD* EVP_md_null (void)

The null message digest.

Returns: the message digest type.

πŸ‘‘ size_t EVP_MD_size (const EVP_MD * md)

Return the output size of the message digest function.

Parameters:

  • md β€” the evp message.

Returns: size β€” output size of the message digest function.

⭐ const EVP_CIPHER* EVP_rc2_40_cbc (void)

The RC2 cipher type.

Returns: the RC2 EVP_CIPHER pointer.

πŸ’– const EVP_CIPHER* EVP_rc2_64_cbc (void)

The RC2 cipher type.

Returns: the RC2 EVP_CIPHER pointer.

πŸŽ€ const EVP_CIPHER* EVP_rc2_cbc (void)

The RC2 cipher type.

Returns: the RC2 EVP_CIPHER pointer.

🌸 const EVP_CIPHER* EVP_rc4 (void)

The RC4 cipher type.

Returns: the RC4 EVP_CIPHER pointer.

πŸ¦‹ const EVP_CIPHER* EVP_rc4_40 (void)

The RC4-40 cipher type.

Returns: the RC4-40 EVP_CIPHER pointer.

πŸ’œ const EVP_MD* EVP_sha (void)

The message digest SHA1.

Returns: the message digest type.

🧚 const EVP_MD* EVP_sha1 (void)

The message digest SHA1.

Returns: the message digest type.

πŸ“ const EVP_MD* EVP_sha256 (void)

The message digest SHA256.

Returns: the message digest type.

🌈 const EVP_MD* EVP_sha384 (void)

The message digest SHA384.

Returns: the message digest type.

πŸ”₯ const EVP_MD* EVP_sha512 (void)

The message digest SHA512.

Returns: the message digest type.

πŸ‘‘ const EVP_CIPHER* EVP_wincrypt_des_ede3_cbc (void)

The tripple DES cipher type (Micrsoft crypt provider). Micrsoft said what it said 🫢.

Returns: the DES-EDE3-CBC EVP_CIPHER pointer.


✨ That’s the whole page, bestie. Source/version tea: version 1.5.2, dated 11 Jan 2012, for EVP generic...o functions(3). πŸ’–

πŸ“¦ where this page comes from