Die SHA2 SQL-Funktion in MySQL und MariaDB - SHA-2-Prüfsumme |
|
| SHA2 | Syntax: | SHA2(Zeichenkette, Länge) | Rückgabe-Wert: | CHAR | Funktions-Typ: | Verschlüsselung & Komprimierung | |
| | Die SQL-Funktion SHA2() berechnet eine SHA-2-Prüfsumme für die "Zeichenkette".
Die SHA-2- gilt als kryptografisch sicherer als eine SHA-1-160-Bit-Prüfsumme.
Die SHA-2-Familie umfasst SHA-224, SHA-256, SHA-384 und SHA-512. Die "Länge" muss einem dieser Werte entsprechen: 224, 256 oder 0, 384 oder 512, ansonsten git die Funktion NULL zurück.
Der Wert wird als Zeichenfolge mit Hexadezimalziffern zurückgegeben, dessen Länge sich nach der Auswahl der Genauigkeit, angegeben in "Länge".
Numerische Werte als Argument werden als Zeichenfolge interpretiert.
Wenn der Wert des Arguments "Zeichenkette" NULL ist, gibt die SHA2()-Funktion NULL zurück.
Wenn der Wert des Arguments "Länge" NULL ist, gibt die SHA2()-Funktion in MySQL 8.0 NULL zurück, MariaDB gibt den Wert für SHA-256 zurück.
SHA2 funktioniert nur, wenn MariaDB mit TLS-Unterstützung oder MySQL mit SSL-Unterstützung konfiguriert wurden. | SQL Beispiele für die SHA2-Funktion |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
|
select sha2('Test', 224), char_length(sha2('Test', 224)) as `chars`, bit_length(sha2('Test', 224)) as `bits`;
select sha2('Test', 256), char_length(sha2('Test', 256)) as `chars`, bit_length(sha2('Test', 256)) as `bits`;
select sha2('Test', '256');
select sha2('Test', 0);
select sha2('Test', 384), char_length(sha2('Test', 384)) as `chars`, bit_length(sha2('Test', 384)) as `bits`;
select char_length(sha2('Test', 512)), bit_length(sha2('Test', 512)) as `bits`;
select sha2(123456, 256);
select sha2('', 256);
select sha2('Test', 160);
select sha2('Test', 220);
select sha2(null, 256);
select sha2('Test', null);
|
|
sha2('Test', 224) | |
|
chars | |
| bits |
varchar(56) BINARY | int(10) | bigint(11) |
3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923 | 56 | 448 |
|
|
sha2('Test', 256) | |
|
chars | |
| bits |
varchar(64) BINARY | int(10) | bigint(11) |
532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25 | 64 | 512 |
|
|
sha2('Test', '256') |
varchar(64) BINARY |
532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25 |
|
|
sha2('Test', 0) |
varchar(64) BINARY |
532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25 |
|
|
sha2('Test', 384) | |
|
chars | |
| bits |
varchar(96) BINARY | int(10) | bigint(11) |
7b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3 | 96 | 768 |
|
|
char_length(sha2('Test', 512)) | |
| bits |
int(10) | bigint(11) |
128 | 1024 |
|
|
sha2(123456, 256) |
varchar(64) BINARY |
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 |
|
|
sha2('', 256) |
varchar(64) BINARY |
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
|
|
sha2('Test', 160) |
varchar(0) BINARY |
NULL |
|
|
sha2('Test', 220) |
varchar(0) BINARY |
NULL |
|
|
sha2(null, 256) |
varchar(64) BINARY |
NULL |
|
|
sha2('Test', null) |
varchar(64) BINARY |
532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25 |
|
|
| Beispiel MySQL 8.0 mit "Länge" NULL |
|
select sha2('Test', null);
|
|
sha2('Test', null) |
varchar(64) BINARY |
NULL |
|
| Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: | Verwendung der SHA2() Funktion in MySQL und MariaDB-Datenbanken | Sowohl MySQL als auch MariaDB stellen die Funktion SHA2() bereit, die zur Berechnung von Hash-Werten mithilfe der SHA-2-Algorithmenfamilie verwendet wird. Dabei kann die gewünschte Bitlänge für den Hash ausgewählt werden, was im Vergleich zum veralteten SHA-1 mehr Flexibilität und stärkere Hashing-Optionen bietet. Durch Angabe der Bitlänge 256 oder 512 kann die Sicherheitsstufe und die Länge des resultierenden Hashs ausgewählt werden. Zu den häufigsten Anwendungsfällen für die Funktion gehören die sichere Speicherung von Passwörtern, die Überprüfung der Datenintegrität, digitale Signaturen und kryptografische Vorgänge. | | Weitere MySQL und MariaDB SQL Verschlüsselung & Komprimierung | |
| | Weitere Informationen zur SQL-Funktion SHA2: und |
|
|
|
|