Klasse AES

java.lang.Object
de.svws_nrw.base.crypto.AES

public class AES extends Object
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

    Konstruktoren
    Konstruktor
    Beschreibung
    AES(AESAlgo algo, SecretKey key)
    Erstellt ein neues AES-Objekt zum Ver- und entschlüsseln von Daten.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    byte[]
    decrypt(byte[] input)
    Entschlüsselt das übergebene Byte Array.
    byte[]
    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
    getKey256(String password, String salt)
    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.

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Konstruktordetails

    • AES

      public AES(AESAlgo algo, SecretKey key)
      Erstellt ein neues AES-Objekt zum Ver- und entschlüsseln von Daten.
      Parameter:
      algo - das zu verwendende AES-Verfahren
      key - der zu verwendende AES-Schlüssel
  • Methodendetails

    • encrypt

      public byte[] encrypt(byte[] input) throws AESException
      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

      public byte[] decrypt(byte[] input) throws AESException
      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

      public String encryptBase64(byte[] input) throws AESException
      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

      public byte[] decryptBase64(String input) throws AESException
      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

      public static SecretKey getRandomKey256() throws AESException
      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

      public static SecretKey getKey256(String password, String salt) throws AESException
      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 Kennwort
      salt - der Salt
      Gibt zurück:
      der AES-Schlüssel
      Löst aus:
      AESException - falls kein AES-Schlüssel generiert werden kann
    • getKeyFromByteArray

      public static SecretKey getKeyFromByteArray(byte[] input)
      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