This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-15. For the latest, interactive version please visit https://mariadb.com/kb/.

AES_ENCRYPT

Sintassi

AES_ENCRYPT(str, str_chiave)

Spiegazione

AES_ENCRYPT() e AES_DECRYPT() permettono di criptare e decriptare i dati utilizzando l'algoritmo ufficiale AES (Advanced Encryption Standard), precedentemente chiamato "Rijndael." La codifica utilizza una chiave di 128 bit, ma è possibile estenderla fino a 256 bit modificando il sorgente. E' stata decisa una lunghezza di 128 bit perché è molto più rapida e nella maggioranza dei casi è sufficientemente sicura.

AES_ENCRYPT() cripta una stringa e restituisce una stringa binaria. AES_DECRYPT() decripta una stringa crittografata e restituisce la stringa originale. Gli argomenti in input possono essere di qualsiasi lunghezza. Se uno degli argomenti è NULL, anche il risultato della funzione sarà NULL.

Poiché AES è un algoritmo a livello di blocco, viene utilizzato un riempimento per le stringhe di lunghezza dispari, pertanto la lunghezza della stringa risultante può essere calcolata con la formula seguente:

16 x (trunc(lunghezza_stringa / 16) + 1)

Se AES_DECRYPT() rileva dati non validi o un riempimento non corretto, restituisce NULL. Tuttavia, è possibile che AES_DECRYPT() restituisca un valore non-NULL (probabilmente spazzatura) se i dati in input o la chiave non sono validi.

E' possibile utilizzare le funzioni AES per registrare dati criptati:

Esempi

INSERT INTO t VALUES (1,AES_ENCRYPT('testo','password'));
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.