- Kategorien:
Zeichenfolgen- und Binärfunktionen (Kryptografischer Hash)
SHA1_BINARY¶
Gibt eine 20-Byte-Binärdatei zurück, die den 160-Bit-SHA-1-Nachrichtenhash enthält.
Syntax¶
SHA1_BINARY(<msg>)
Argumente¶
msg
Ein Zeichenfolgenausdruck, die zu hashende Nachricht.
Rückgabewerte¶
Der Datentyp des zurückgegebenen Werts ist BINARY.
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.
Verwenden Sie diese Funktion nicht zur Verschlüsselung einer Meldung, die Sie entschlüsseln müssen. Diese Funktion hat keine entsprechende Entschlüsselungsfunktion. (Die Länge der Ausgabe ist unabhängig von der Länge der Eingabe. Die Ausgabe hat nicht notwendigerweise genug Bits, um alle Informationen der Eingabe zu enthalten, sodass es nicht möglich ist, eine Funktion zu schreiben, die alle möglichen gültigen Eingaben entschlüsseln kann).
Diese Funktion ist für andere Zwecke gedacht, z. B. für die Berechnung einer Prüfsumme zum Erkennen von Datenfehlern.
Wenn Sie Daten verschlüsseln und entschlüsseln müssen, verwenden Sie die folgenden Funktionen:
Beispiele¶
SELECT sha1_binary('Snowflake');
------------------------------------------+
SHA1_BINARY('SNOWFLAKE') |
------------------------------------------+
FDA76B0BCC1E87CF259B1D1E3271D76F590FB5DD |
------------------------------------------+
Der Datentyp der Ausgabe ist BINARY
und kann in einer BINARY
-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 entsprechende Abfrage und die Ausgabe (beachten Sie, dass die Ausgabe für die Anzeige implizit in eine vom Benutzer lesbare Form umgewandelt wird, das in diesem Fall eine Zeichenfolge aus hexadezimalen Ziffern ist):
SELECT v, v_as_sha1_binary FROM sha_table ORDER BY v; +-------+------------------------------------------+ | V | V_AS_SHA1_BINARY | |-------+------------------------------------------| | AbCd0 | 9DDB991863D53B35A52C490DB256207C776AB8D8 | +-------+------------------------------------------+