- Catégories :
Fonctions de chaîne et fonctions binaires (Hachage cryptographique)
SHA1_BINARY¶
Renvoie un binaire de 20 octets contenant le résumé du message SHA-1 de 160 bits.
Syntaxe¶
SHA1_BINARY(<msg>)
Arguments¶
msg
Une expression de chaîne de caractères, le message à hacher.
Renvoie¶
Le type de données de la valeur renvoyée est BINARY.
Notes sur l’utilisation¶
La famille de fonctions SHA1 est fournie principalement pour une compatibilité ascendante avec d’autres systèmes. Pour un chiffrement plus sécurisé, Snowflake recommande d’utiliser la famille de fonctions SHA2.
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 sha1_binary('Snowflake');
------------------------------------------+
SHA1_BINARY('SNOWFLAKE') |
------------------------------------------+
FDA76B0BCC1E87CF259B1D1E3271D76F590FB5DD |
------------------------------------------+
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) ;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_sha1_binary FROM sha_table ORDER BY v; +-------+------------------------------------------+ | V | V_AS_SHA1_BINARY | |-------+------------------------------------------| | AbCd0 | 9DDB991863D53B35A52C490DB256207C776AB8D8 | +-------+------------------------------------------+