Kategorien:

Zeichenfolgen- und Binärfunktionen (Kryptografischer Hash)

SHA1 , SHA1_HEX

Gibt eine 40-stellige hexadezimal-codierte Zeichenfolge zurück, die den 160-Bit-SHA-1-Nachrichtenhash enthält.

Diese Funktionen sind gleichbedeutend.

Syntax

SHA1(<msg>)

SHA1_HEX(<msg>)

Argumente

Nachricht

Ein Zeichenfolgenausdruck, die zu hashende Nachricht.

Nutzungshinweise

  • Die SHA1-Funktionsfamilie wird hauptsächlich zur Abwärtskompatibilität mit anderen Systemen bereitgestellt. Für eine sicherere Verschlüsselung empfiehlt Snowflake die Verwendung der SHA2-Funktionsfamilie.

Beispiele

SELECT sha1('Snowflake');

------------------------------------------+
            SHA1('SNOWFLAKE')             |
------------------------------------------+
 fda76b0bcc1e87cf259b1d1e3271d76f590fb5dd |
------------------------------------------+

Der Datentyp der Ausgabe ist eine Zeichenfolge (VARCHAR) und kann in einer VARCHAR-Spalte gespeichert werden:

Erstellen Sie eine Tabelle, und füllen Sie diese:

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)
    ;

Hier sind die Abfrage und die Ausgabe:

SELECT v, v_as_sha1, v_as_sha1_hex
  FROM sha_table
  ORDER BY v;
+-------+------------------------------------------+------------------------------------------+
| V     | V_AS_SHA1                                | V_AS_SHA1_HEX                            |
|-------+------------------------------------------+------------------------------------------|
| AbCd0 | 9ddb991863d53b35a52c490db256207c776ab8d8 | 9ddb991863d53b35a52c490db256207c776ab8d8 |
+-------+------------------------------------------+------------------------------------------+