159191Skris=pod 259191Skris 359191Skris=head1 NAME 459191Skris 559191SkrisRIPEMD160, RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final - 659191SkrisRIPEMD-160 hash function 759191Skris 859191Skris=head1 SYNOPSIS 959191Skris 1059191Skris #include <openssl/ripemd.h> 1159191Skris 1259191Skris unsigned char *RIPEMD160(const unsigned char *d, unsigned long n, 1359191Skris unsigned char *md); 1459191Skris 15167612Ssimon int RIPEMD160_Init(RIPEMD160_CTX *c); 16167612Ssimon int RIPEMD160_Update(RIPEMD_CTX *c, const void *data, 1759191Skris unsigned long len); 18167612Ssimon int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); 1959191Skris 2059191Skris=head1 DESCRIPTION 2159191Skris 2259191SkrisRIPEMD-160 is a cryptographic hash function with a 2359191Skris160 bit output. 2459191Skris 2559191SkrisRIPEMD160() computes the RIPEMD-160 message digest of the B<n> 2659191Skrisbytes at B<d> and places it in B<md> (which must have space for 2759191SkrisRIPEMD160_DIGEST_LENGTH == 20 bytes of output). If B<md> is NULL, the digest 2859191Skrisis placed in a static array. 2959191Skris 3059191SkrisThe following functions may be used if the message is not completely 3159191Skrisstored in memory: 3259191Skris 3359191SkrisRIPEMD160_Init() initializes a B<RIPEMD160_CTX> structure. 3459191Skris 3559191SkrisRIPEMD160_Update() can be called repeatedly with chunks of the message to 3659191Skrisbe hashed (B<len> bytes at B<data>). 3759191Skris 3859191SkrisRIPEMD160_Final() places the message digest in B<md>, which must have 3959191Skrisspace for RIPEMD160_DIGEST_LENGTH == 20 bytes of output, and erases 4059191Skristhe B<RIPEMD160_CTX>. 4159191Skris 4259191SkrisApplications should use the higher level functions 4359191SkrisL<EVP_DigestInit(3)|EVP_DigestInit(3)> etc. instead of calling the 4459191Skrishash functions directly. 4559191Skris 4659191Skris=head1 RETURN VALUES 4759191Skris 4859191SkrisRIPEMD160() returns a pointer to the hash value. 4959191Skris 50167612SsimonRIPEMD160_Init(), RIPEMD160_Update() and RIPEMD160_Final() return 1 for 51167612Ssimonsuccess, 0 otherwise. 5259191Skris 5359191Skris=head1 CONFORMING TO 5459191Skris 5559191SkrisISO/IEC 10118-3 (draft) (??) 5659191Skris 5759191Skris=head1 SEE ALSO 5859191Skris 5959191SkrisL<sha(3)|sha(3)>, L<hmac(3)|hmac(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)> 6059191Skris 6159191Skris=head1 HISTORY 6259191Skris 6359191SkrisRIPEMD160(), RIPEMD160_Init(), RIPEMD160_Update() and 6459191SkrisRIPEMD160_Final() are available since SSLeay 0.9.0. 6559191Skris 6659191Skris=cut 67