CatĂ©gories :

Fonctions de chaĂźne et fonctions binaires (Hachage cryptographique)

SHA2_BINARY¶

Renvoie un binaire contenant le rĂ©sumĂ© de message SHA-2 de N bits, oĂč N est la taille de rĂ©sumĂ© de la sortie spĂ©cifiĂ©e.

Syntaxe¶

SHA2_BINARY(<msg> [, <digest_size>])
Copy

Arguments¶

Obligatoire :

msg

Une expression de chaĂźne, le message Ă  hacher

Facultatif :

digest_size

Taille (en bits) de la sortie, correspondant Ă  la fonction spĂ©cifique SHA-2 utilisĂ©e pour chiffrer la chaĂźne :

224 = SHA-224

256 = SHA-256 (par défaut)

384 = SHA-384

512 = SHA-512

SHA-512/224 et SHA-512/256 ne sont pas pris en charge.

Renvoie¶

Le type de données de la valeur renvoyée est BINARY.

Notes sur l’utilisation¶

  • N’utilisez pas cette fonction pour chiffrer un message que vous devrez dĂ©chiffrer. Cette fonction n’a pas de fonction de dĂ©chiffrage correspondante. (La longueur de la sortie est indĂ©pendante de la longueur de l’entrĂ©e. La sortie n’a pas nĂ©cessairement assez de bits pour contenir toutes les informations de l’entrĂ©e, il n’est donc pas possible d’écrire une fonction qui peut dĂ©chiffrer toutes les entrĂ©es valides possibles).

    Cette fonction est destinĂ©e Ă  d’autres fins, comme le calcul d’une somme de contrĂŽle pour dĂ©tecter la corruption de donnĂ©es.

    Si vous devez chiffrer et dĂ©chiffrer des donnĂ©es, utilisez les fonctions suivantes :

Exemples¶

SELECT sha2_binary('Snowflake', 384);

--------------------------------------------------------------------------------------------------+
                                   SHA2_BINARY('SNOWFLAKE', 384)                                  |
--------------------------------------------------------------------------------------------------+
 736BD8A53845348830B1EE63A8CD3972F031F13B111F66FFDEC2271A7AE709662E503A0CA305BD50DA8D1CED48CD45D9 |
--------------------------------------------------------------------------------------------------+
Copy

Le type de donnĂ©es de la sortie est BINARY et peut ĂȘtre stockĂ© dans une colonne BINARY :

CrĂ©ez et remplissez une table :

CREATE TABLE sha_table(
    v VARCHAR, 
    v_as_sha1 VARCHAR,
    v_as_sha1_hex VARCHAR,
    v_as_sha1_binary BINARY,
    v_as_sha2 VARCHAR,
    v_as_sha2_hex VARCHAR,
    v_as_sha2_binary BINARY
    );
INSERT INTO sha_table(v) VALUES ('AbCd0');
UPDATE sha_table SET 
    v_as_sha1 = SHA1(v),
    v_as_sha1_hex = SHA1_HEX(v),
    v_as_sha1_binary = SHA1_BINARY(v),
    v_as_sha2 = SHA2(v),
    v_as_sha2_hex = SHA2_HEX(v),
    v_as_sha2_binary = SHA2_BINARY(v)
    ;
Copy

Voici la requĂȘte et la sortie (notez que pour l’affichage, la sortie est convertie implicitement en un format lisible par l’utilisateur, qui dans ce cas est une chaĂźne de chiffres hexadĂ©cimaux) :

SELECT v, v_as_sha2_binary
  FROM sha_table
  ORDER BY v;
+-------+------------------------------------------------------------------+
| V     | V_AS_SHA2_BINARY                                                 |
|-------+------------------------------------------------------------------|
| AbCd0 | E1D8BA27889D6782008F495473278C4F071995C5549A976E4D4F93863CE93643 |
+-------+------------------------------------------------------------------+
Copy