Package de.svws_nrw.base.crypto
Klasse AES
java.lang.Object
de.svws_nrw.base.crypto.AES
Diese Klasse stellt Methoden zum Ver- und Entschlüsseln
von Daten mithilfe des AES-Standards zur Verfügung.
Der Initialisierungsvektor (IV) wird dabei den verschlüsselten
Daten vorangestellt.
-
Konstruktorübersicht
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungbyte[]
decrypt
(byte[] input) Entschlüsselt das übergebene Byte Array.byte[]
decryptBase64
(String input) Entschlüsselt den übergebenen Base64-String.byte[]
encrypt
(byte[] input) Verschlüsselt das übergebene Byte-Array.encryptBase64
(byte[] input) Verschlüsselt die übergebenen Daten und erstellt einen Base64-kodierten String aus dem Ergebnis.static SecretKey
Erstellt aus dem angegebenen Kennwort und dem angegebenen Salt einen AES-Schlüssel.static SecretKey
getKeyFromByteArray
(byte[] input) Gibt den AES-Schlüssel für den Schlüssel in dem übergebenen byte-Array zurück.static SecretKey
Erzeugt einen neuen zufälligen AES-Schlüssel mit der Schlüssellänge 256.
-
Konstruktordetails
-
AES
Erstellt ein neues AES-Objekt zum Ver- und entschlüsseln von Daten.- Parameter:
algo
- das zu verwendende AES-Verfahrenkey
- der zu verwendende AES-Schlüssel
-
-
Methodendetails
-
encrypt
Verschlüsselt das übergebene Byte-Array. Der Initialisieruns- Vektor (IV) wird dabei den Daten vorangestellt.- Parameter:
input
- das zu verschlüsselnde Byte-Array- Gibt zurück:
- das verschlüsselte Byte-Array
- Löst aus:
AESException
- eine Exception, falls ein Fehler beim Verschlüsseln auftritt
-
decrypt
Entschlüsselt das übergebene Byte Array. Dabei wird davon ausgegangen, dass dieses Byte-Array den Initialisierungsvektor (IV) am Anfang des Arrays von den eigentlich verschlüsselten Daten enthält.- Parameter:
input
- die verschlüsselten Daten mit dem IV- Gibt zurück:
- die entschlüsselten Daten
- Löst aus:
AESException
- eine Exception, falls ein Fehler beim Entschlüsseln auftritt
-
encryptBase64
Verschlüsselt die übergebenen Daten und erstellt einen Base64-kodierten String aus dem Ergebnis. Der Initialisieruns- Vektor (IV) wird dabei den Daten vorangestellt.- Parameter:
input
- die unverschlüsselten Daten- Gibt zurück:
- die verschlüsselten Daten als Base64-String.
- Löst aus:
AESException
- eine Exception, falls ein Fehler beim Verschlüsseln auftritt
-
decryptBase64
Entschlüsselt den übergebenen Base64-String. Dabei wird davon ausgegangen, dass das Base64-kodierte Byte-Array den Initialisierungsvektor (IV) am Anfang des Arrays von den eigentlich verschlüsselten Daten enthält.- Parameter:
input
- die verschlüsselten Base64-kodierten Daten mit dem IV- Gibt zurück:
- die entschlüsselten Daten
- Löst aus:
AESException
- eine Exception, falls ein Fehler beim Entschlüsseln auftritt
-
getRandomKey256
Erzeugt einen neuen zufälligen AES-Schlüssel mit der Schlüssellänge 256.- Gibt zurück:
- der AES-Schlüssel
- Löst aus:
AESException
- falls kein AES-Schlüssel generiert werden kann
-
getKey256
Erstellt aus dem angegebenen Kennwort und dem angegebenen Salt einen AES-Schlüssel. Das bei wird die Password-Based Key Derivation Function 2 (PBDKF2) verwendet. Dabei kommt Keyed-Hashing for Message Authentication Code (HMAC) in Kombination mit dem Secure Hash Algorithm (SHA256) zur Verwendung.- Parameter:
password
- das Kennwortsalt
- der Salt- Gibt zurück:
- der AES-Schlüssel
- Löst aus:
AESException
- falls kein AES-Schlüssel generiert werden kann
-
getKeyFromByteArray
Gibt den AES-Schlüssel für den Schlüssel in dem übergebenen byte-Array zurück.- Parameter:
input
- das Byte-Array mit dem AES-Schlüssel- Gibt zurück:
- der AES-Schlüssel
-