Kategorien:

Zeichenfolgen- und Binärfunktionen (Kryptografischer Hash)

SHA2_BINARY

Gibt eine Binärdatei zurück, die den N-Bit-SHA-2-Nachrichtenhash enthält, wobei N die angegebene Größe des Ausgabedigests ist.

Syntax

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

Argumente

Benötigt:

Nachricht

Ein Zeichenfolgenausdruck, die zu hashende Nachricht

Optional:

Digestgröße

Größe (in Bits) der Ausgabe, die der spezifischen SHA-2-Funktion entspricht, die zum Verschlüsseln der Zeichenfolge verwendet wird:

224 = SHA-224

256 = SHA-256 (Standard)

384 = SHA-384

512 = SHA-512

SHA-512/224 und SHA-512/256 werden nicht unterstützt.

Beispiele

SELECT sha2_binary('Snowflake', 384);

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

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_sha2_binary
  FROM sha_table
  ORDER BY v;
+-------+------------------------------------------------------------------+
| V     | V_AS_SHA2_BINARY                                                 |
|-------+------------------------------------------------------------------|
| AbCd0 | E1D8BA27889D6782008F495473278C4F071995C5549A976E4D4F93863CE93643 |
+-------+------------------------------------------------------------------+