fr::crypto::sha(3SSL)

NOM
SHA1, SHA1_Init, SHA1_Update, SHA1_Final, SHA224, SHA224_Init, SHA224_Update, SHA224_Final, SHA256, SHA256_Init, SHA256_Update, SHA256_Final, SHA384, SHA384_Init, SHA384_Update, SHA384_Final, SHA512, SHA512_Init, SHA512_Update, SHA512_Final - Algorithme de hachage sécurisé (« Secure Hash Algorithm »)

SYNOPSIS
 #include <openssl/sha.h>

 int SHA1_Init(SHA_CTX *c);
 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
 int SHA1_Final(unsigned char *md, SHA_CTX *c);
 unsigned char *SHA1(const unsigned char *d, size_t n,
      unsigned char *md);

 int SHA224_Init(SHA256_CTX *c);
 int SHA224_Update(SHA256_CTX *c, const void *data, size_t len);
 int SHA224_Final(unsigned char *md, SHA256_CTX *c);
 unsigned char *SHA224(const unsigned char *d, size_t n,
      unsigned char *md);

 int SHA256_Init(SHA256_CTX *c);
 int SHA256_Update(SHA256_CTX *c, const void *data, size_t len);
 int SHA256_Final(unsigned char *md, SHA256_CTX *c);
 unsigned char *SHA256(const unsigned char *d, size_t n,
      unsigned char *md);

 int SHA384_Init(SHA512_CTX *c);
 int SHA384_Update(SHA512_CTX *c, const void *data, size_t len);
 int SHA384_Final(unsigned char *md, SHA512_CTX *c);
 unsigned char *SHA384(const unsigned char *d, size_t n,
      unsigned char *md);

 int SHA512_Init(SHA512_CTX *c);
 int SHA512_Update(SHA512_CTX *c, const void *data, size_t len);
 int SHA512_Final(unsigned char *md, SHA512_CTX *c);
 unsigned char *SHA512(const unsigned char *d, size_t n,
      unsigned char *md);

DESCRIPTION
Les applications devraient utiliser les fonctions de haut niveau EVP_DigestInit(3), etc. plutôt que d'appeler les fonctions de hachage directement.

SHA-1 (« Secure Hash Algorithm ») est une fonction de hachage cryptographique avec une sortie de 160 bits.

SHA1() calcule le condensé de message SHA-1 des n octets de d et le place dans md (qui doit avoir de la place pour SHA_DIGEST_LENGTH == 20 octets de sortie). Si md est NULL, le condensé est placé dans un tableau statique. Note : le réglage de md à NULL n'est pas à fil sécurisé.

Les fonctions suivantes peuvent être utiles si le message n'est pas stocké en entier dans la mémoire :

SHA1_Init() initialise une structure SHA_CTX.

SHA1_Update() peut être appelée de façon répétée avec des bouts du message dont il faut calculer le hachage (len octets de data).

SHA1_Final() place le condensé de message dans md, qui doit avoir de la place pour SHA_DIGEST_LENGTH == 20 octets de données, et efface SHA_CTX.

Les familles de fonctions SHA224, SHA256, SHA384 et SHA512 opèrent de la même façon que les fonctions SHA1. Notez que SHA224 et SHA256 utilisent un objet SHA256_CTX à la place de SHA_CTX. SHA384 et SHA512 utilisent SHA512_CTX. Le tampon md doit avoir de la place pour la sortie de la variante de SHA utilisée (définie par SHA224_DIGEST_LENGTH, SHA256_DIGEST_LENGTH, SHA384_DIGEST_LENGTH et SHA512_DIGEST_LENGTH). Notez aussi que, comme pour la fonction SHA1() vue plus haut, les fonctions SHA224(), SHA256(), SHA384() et SHA512() ne sont pas à fil sécurisé si md est NULL.

Le prédécesseur de SHA-1, SHA, est aussi implémenté, mais ne devrait être utilisé que si nécessaire pour des raisons de compatibilité.

VALEURS DE RETOUR
SHA1(), SHA224(), SHA256(), SHA384() et SHA512() renvoient un pointeur vers la valeur de hachage.

SHA1_Init(), SHA1_Update() et SHA1_Final() et les fonctions équivalentes SHA224, SHA256, SHA384 et SHA512 renvoient 1 en cas de succès et 0 sinon.

MISE EN CONFORMITÉ
US Federal Information Processing Standard FIPS PUB 180-1 (Secure Hash Standard), ANSI X9.30

VOIR AUSSI
ripemd(3), hmac(3), EVP_DigestInit(3)

HISTORIQUE
SHA1(), SHA1_Init(), SHA1_Update() et SHA1_Final() sont disponibles dans toutes les versions de SSLeay et d'OpenSSL.

TRADUCTION
La traduction de cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.