SHA(3) — Subroutines
NAME
SHA, SHA1, SHA1_Init, SHA1_Update, SHA1_Final − Secure Hash Algorithm
SYNOPSIS
#include <openssl/sha.h>
unsigned char ∗SHA1(
const unsigned char ∗d, unsigned long n, unsigned char ∗md ); void SHA1_Init(
SHA_CTX ∗c ); void SHA1_Update(
SHA_CTX ∗c, const void ∗data, unsigned long len ); void SHA1_Final(
unsigned char ∗md, SHA_CTX ∗c );
DESCRIPTION
SHA-1 (Secure Hash Algorithm) is a cryptographic hash function with a 160−bit output.
The SHA1() function computes the SHA-1 message digest of the n bytes at d and places it in md (which must have space for SHA_DIGEST_LENGTH == 20 bytes of output). If md is NULL, the digest is placed in a static array.
The following functions can be used if the message is not completely stored in memory:
The SHA1_Init() function initializes a SHA_CTX structure.
The SHA1_Update() function can be called repeatedly with chunks of the message to be hashed (len bytes at data).
The SHA1_Final() function places the message digest in md, which must have space for SHA_DIGEST_LENGTH == 20 bytes of output, and erases the SHA_CTX.
Applications should use the higher level functions, such as EVP_DigestInit(), instead of calling the hash functions directly.
The predecessor of SHA-1, SHA, is also implemented, but it should be used only when backward compatibility is required.
RETURN VALUES
The SHA1() function returns a pointer to the hash value.
The SHA1_Init(), SHA1_Update(), and SHA1_Final() functions do not return values.
HISTORY
The SHA1(), SHA1_Init(), SHA1_Update(), and SHA1_Final() functions are available in all versions of SSLeay and OpenSSL.
SHA conforms to US Federal Information Processing Standard FIPS PUB 180 (Secure Hash Standard). SHA-1 conforms to US Federal Information Processing Standard FIPS PUB 180-1 (Secure Hash Standard), ANSI X9.30
SEE ALSO
Functions: ripemd(3), hmac(3), EVP_DigestInit(3)