Lunghezza chiave variabile:
Sì, puoi utilizzare una lunghezza di chiave diversa se intendi utilizzare più chiavi. E la dimensione della chiave dipende dal tipo di dati.
Ad esempio, NSA considera le chiavi a 128 bit abbastanza buone solo per i dati con designazione SECRET. Per TOP SECRET, però, richiede chiavi a 256 bit. Il rapporto European Network of Excellence in Cryptology raccomanda anche chiavi a 128 bit per la protezione a lungo termine, ma afferma che le chiavi a 256 bit sono l'unica buona protezione contro i computer quantistici.
Dimensioni chiave:
AES supporta tre diverse dimensioni di chiave. Se si specifica una chiave più piccola, questa verrà automaticamente completata da AES.
- 128 bit
- 192 bit
- 256 bit
Le chiavi standard a 128 bit sono utilizzate in AES_Encrypt () e AES_Decrypt () . Tuttavia puoi estenderlo a 256.
Assicurati di selezionare il tipo di campo come binario perché AES_ENCRYPT()
crittografa una stringa e restituisce una stringa binaria. AES_DECRYPT()
decrittografa la stringa crittografata e restituisce la stringa originale.
Codice di esempio:
Tabella:
CREATE TABLE 'user' (
'id' BIGINT UNSIGNED NOT NULL AUTO_INCREMENT ,
'first_name' VARBINARY(100) NULL ,
'address' VARBINARY(200) NOT NULL ,
PRIMARY KEY ('id'));
Inserisci istruzione con funzione di crittografia:
INSERT into user (first_name, address) VALUES (AES_ENCRYPT('John', 'usa2018'), AES_ENCRYPT('Obama', 'usa2019'));
Seleziona istruzione con funzione di decrittazione:
SELECT AES_DECRYPT(first_name, 'usa2018'), AES_DECRYPT(address, 'usa2019') from user;