©SQL :: Manager
HomeProgramm-InformationenTechnische DetailsKostenloser DownloadKaffee für den Autor
Netzwelt
SQL-FunktionMySQLMariaDB

Die AES_ENCRYPT SQL-Funktion in MySQL und MariaDB - Mit AES-Algorithmus verschlüsseln

AES_ENCRYPTSyntax:AES_ENCRYPT(Zeichenkette, Schlüssel)
Rückgabe-Wert:BINARY
Funktions-Typ:Verschlüsselung & Komprimierung
Funktions-Beschreibung

Die SQL-Funktion AES_ENCRYPT() verschlüsselt die "Zeichenkette" mit dem angegebenen "Schlüssel" unter Nutzung des AES-Algorithmus.

AES = Advanced Encryption Standard, auch bekannt als Rijndael.

Als Ergebnis wird ein Binärstring mit einfacher oder mehrfacher 128 Bit (16 Zeichen) Länge zurückgegeben, je nach Länge der "Zeichenkette", die verschlüsselt werden soll.

Numerische Werte in den Argumenten "Zeichenkette" und "Schlüssel" werden als Zeichenfolge interpretiert.

Wenn der Wert der Argumente "Zeichenkette" oder "Schlüssel" NULL ist, gibt die AES_ENCRYPT()-Funktion NULL zurück.


Die Funktion AES_DECRYPT() kann zum Entschlüsseln verwendet werden.

SQL Beispiele für die AES_ENCRYPT-Funktion

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20

select hex(aes_encrypt('Test''Key')), 
       bit_length(aes_encrypt('Test''Key')) AS len;
       
select hex(aes_encrypt(repeat('Test', 5), sha2('Key',512))), 
       bit_length(aes_encrypt(repeat('Test', 5), 'Key')) as len;

select hex(aes_encrypt(repeat('Test', 10), sha2('Key',512))), 
       bit_length(aes_encrypt(repeat('Test', 10), 'Key')) as len;

select hex(aes_encrypt(repeat('Test', 20), sha2('Key',512))), 
       bit_length(aes_encrypt(repeat('Test', 20), 'Key')) as len;

select hex(aes_encrypt('123456''789'));
select hex(aes_encrypt(123456, 789));

select hex(aes_encrypt('''key'));
select aes_encrypt(null'key');
select aes_encrypt('Test'null);

hex(aes_encrypt('Test', 'Key'))
len
varchar(32) BINARYbigint(10)
4AF21D11E66D5A9830B4297CFD7A78F6128
hex(aes_encrypt(repeat('Test', 5), sha2('Key',512)))
len
varchar(64) BINARYbigint(10)
D07D851220021446BBA595ACCE20B2BB8C7A20F65BDEB36...256
hex(aes_encrypt(repeat('Test', 10), sha2('Key',512)))
len
varchar(96) BINARYbigint(10)
D07D851220021446BBA595ACCE20B2BBD07D85122002144...384
hex(aes_encrypt(repeat('Test', 20), sha2('Key',512)))
len
varchar(192) BINARYbigint(10)
D07D851220021446BBA595ACCE20B2BBD07D85122002144...768
hex(aes_encrypt('123456', '789'))
varchar(32) BINARY
F5646561ECA0A52CE14174A8CE4FFB47
hex(aes_encrypt(123456, 789))
varchar(32) BINARY
F5646561ECA0A52CE14174A8CE4FFB47
hex(aes_encrypt('', 'key'))
varchar(32) BINARY
C717530F41F320757B4AA1BFAF11C42E
aes_encrypt(null, 'key')
varchar(16) BINARY
NULL
aes_encrypt('Test', null)
varchar(16) BINARY
NULL

Beispiele für die Berechnung der Länge des Rückgabe-Wertes

 1
 2
 3
 4
 5
 6
 7
 8

select hex(aes_encrypt('Test''Key')), octet_length(aes_encrypt('Test''Key'));

select 16 * ceil((octet_length(repeat('test', 1)) + 1) / 16);
select 16 * ceil((octet_length(repeat('test', 5)) + 1) / 16);
select 16 * ceil((octet_length(repeat('test', 10)) + 1) / 16);
select 16 * ceil((octet_length(repeat('test', 20)) + 1) / 16);

hex(aes_encrypt('Test', 'Key'))
octet_length(aes_encrypt('Test', 'Key'))
varchar(32) BINARYint(10)
4AF21D11E66D5A9830B4297CFD7A78F616
16 * ceil((octet_length(repeat('test', 1)) + 1) / 16)
bigint(15)
16
16 * ceil((octet_length(repeat('test', 5)) + 1) / 16)
bigint(15)
32
16 * ceil((octet_length(repeat('test', 10)) + 1) / 16)
bigint(15)
48
16 * ceil((octet_length(repeat('test', 20)) + 1) / 16)
bigint(15)
96
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

Verwendung der AES_ENCRYPT() Funktion in MySQL und MariaDB-Datenbanken

MySQL und MariaDB bieten eine AES_ENCRYPT()-Funktion, die zum Verschlüsseln von Daten mithilfe des AES-Verschlüsselungsalgorithmus verwendet wird. Dabei nimmt die Funktion die Daten und einen Schlüssel als Eingabe und gibt den verschlüsselten Wert als Binärstring zurück.

Die Funktion AES_ENCRYPT() in MySQL und MariaDB wird häufig zum Verschlüsseln vertraulicher Daten verwendet, die sicher in der Datenbank gespeichert werden müssen, zum Beispiel sensible Daten wie personenbezogene Daten, Passwörter, Kreditkartennummern oder andere vertrauliche Daten. Durch die Verschlüsselung bleiben Daten ohne den Schlüssel unlesbar, selbst wenn die Datenbank kompromittiert wird.

Die Funktion bietet zudem Sicherheit bei der Übertragung von daten über unsichere Netzwerke oder Kommunikationskanäle, oder bei Datenschutzbestimmungen, die den Schutz sensibler Informationen erfordern, sowie beim Verschlüsseln von Datenbank-Backups.
ADDDATEADDTIMEAES_DECRYPTAES_ENCRYPTANY_VALUEASCIIASIN

Weitere MySQL und MariaDB SQL Verschlüsselung & Komprimierung

AES_DECRYPTAES_DECRYPT(Zeichenkette, Schlüssel)
Mehr zur AES_DECRYPT-Funktion

COMPRESSCOMPRESS(Zeichenkette)
Mehr zur COMPRESS-Funktion

DECODEDECODE(Binärstring, Passwort)
Mehr zur DECODE-Funktion

DES_DECRYPTDES_DECRYPT(Binärstring [, Schlüssel])
Mehr zur DES_DECRYPT-Funktion

DES_ENCRYPTDES_ENCRYPT(Zeichenkette [, Schlüssel])
Mehr zur DES_ENCRYPT-Funktion

ENCODEENCODE(Zeichenkette, Passwort)
Mehr zur ENCODE-Funktion

ENCRYPTENCRYPT(Zeichenkette [, Salt])
Mehr zur ENCRYPT-Funktion

FROM_BASE64FROM_BASE64(Zeichenkette)
Mehr zur FROM_BASE64-Funktion

MD5MD5(Zeichenkette)
Mehr zur MD5-Funktion

OLD_PASSWORDOLD_PASSWORD(Zeichenkette)
Mehr zur OLD_PASSWORD-Funktion

PASSWORDPASSWORD(Zeichenkette)
Mehr zur PASSWORD-Funktion

RANDOM_BYTESRANDOM_BYTES(Länge)
Mehr zur RANDOM_BYTES-Funktion

SHASHA(Zeichenkette)
Mehr zur SHA-Funktion

SHA1SHA1(Zeichenkette)
Mehr zur SHA1-Funktion

SHA2SHA2(Zeichenkette, Länge)
Mehr zur SHA2-Funktion

TO_BASE64TO_BASE64(Zeichenkette)
Mehr zur TO_BASE64-Funktion

UNCOMPRESSUNCOMPRESS(Binärstring)
Mehr zur UNCOMPRESS-Funktion

Numerische FunktionenZeichenketten-FunktionenReguläre AusdrückeDatum und Zeit-Funktionen
Vergleichs-FunktionenVerschlüsselung & KomprimierungKonvertierungs-FunktionenNULL-Funktionen
Aggregat-FunktionenWindow-FunktionenJSON-FunktionenGeometrische Funktionen
Sequenz-FunktionenInformations-FunktionenDynamische Tabellen-SpaltenSonstige Funktionen
Weitere Informationen zur SQL-Funktion AES_ENCRYPT: mysql.com und mariadb.com
Aktualisiert: 17.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer