RIPEMD160_INIT(3SSL)
π RIPEMD160_INIT β the OpenSSL manpage, bestie edition π
okay so this is RIPEMD160_INIT(3SSL), from the OpenSSL manual, and we're about to get into the RIPEMD-160 hash function. yes she's deprecated. no we're not ignoring her. sit down, hydrate, let's go π¦
β¨ NAME β¨
RIPEMD160, RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final β the RIPEMD-160 hash function, all four of them, one happy little family πΈ
β¨ SYNOPSIS β¨
#include <openssl/ripemd.h>
β οΈ real talk: the functions below have been deprecated since OpenSSL 3.0, and you can hide them entirely by definingOPENSSL_API_COMPATwith a suitable version value β checkopenssl_user_macros(7)for that.
unsigned char *RIPEMD160(const unsigned char *d, unsigned long n,
unsigned char *md);
int RIPEMD160_Init(RIPEMD160_CTX *c);
int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, unsigned long len);
int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c);
β¨ DESCRIPTION β¨
okay so, headline first: all of the functions described on this page are deprecated π like, every single one. applications should be using EVP_DigestInit_ex(3), EVP_DigestUpdate(3) and EVP_DigestFinal_ex(3) instead. she's retired but still gorgeous, yk?
RIPEMD-160 is a cryptographic hash function with a 160 bit output. short king. powerful king. π
RIPEMD160() computes the RIPEMD-160 message digest of the n bytes at d and drops it into md β and md must have space for RIPEMD160_DIGEST_LENGTH == 20 bytes of output. if md is NULL, the digest goes into a static array instead (she keeps a spot for you, lowkey).
now, the following functions are for when your message isn't completely stored in memory, i.e. you're streaming it in pieces like a true main character:
RIPEMD160_Init()initializes aRIPEMD160_CTXstructure.RIPEMD160_Update()can be called repeatedly with chunks of the message to be hashed (lenbytes atdata).RIPEMD160_Final()places the message digest inmdβ which must have space forRIPEMD160_DIGEST_LENGTH == 20bytes of output β and erases theRIPEMD160_CTX.
β¨ RETURN VALUES β¨
RIPEMD160()returns a pointer to the hash value. π«ΆRIPEMD160_Init(),RIPEMD160_Update()andRIPEMD160_Final()return1for success,0otherwise.
β¨ NOTE β¨
applications should use the higher level functions EVP_DigestInit(3) etc. instead of calling these functions directly. i'm not saying it twice, bestie, i'm just saying it with love π
β¨ CONFORMING TO β¨
ISO/IEC 10118-3:2016 Dedicated Hash-Function 1 (RIPEMD-160). certified. standardized. iconic. periodt.
β¨ SEE ALSO β¨
β¨ HISTORY β¨
all of these functions were deprecated in OpenSSL 3.0. that's the whole history section. brief, but devastating π
β¨ COPYRIGHT β¨
Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
and that's the whole page, no cap β¨ this was OpenSSL 4.0.3, dated 2026-09-29, and it's the RIPEMD160_INIT(3SSL) manual through and through. go forth, hash responsibly, and remember: deprecated β forgotten ππ
π¦ where this page comes from
- ubuntu stonking: libssl-doc 4.0.3-1ubuntu1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms