So generieren Sie einen geheimen Schlüssel in Java und verwenden diesen Schlüssel in zwei verschiedenen Programmen

Mein Ziel ist es, ein Java-Programm zum Verschlüsseln einer Textdatei zu schreiben (cipher text) mitAES algorithm. Und dann schreiben Sie ein anderes Programm, um diese verschlüsselte Datei zu entschlüsseln (cipher text) um den Klartext zurück zu bekommen. Ich möchte denselben Schlüssel verwenden (denselben Schlüssel, einmal generieren, irgendwo speichern und in Verschlüsselungs- und Entschlüsselungsprogrammen verwenden), um ihn zu verschlüsseln und zu entschlüsseln. Wenn ich einen Schlüssel generiere und die Ver- und Entschlüsselung zeilenweise im selben Programm durchführe, funktioniert das einwandfrei. Hier ist das Arbeitscode-Snippet dafür:

        String strDataToEncrypt = new String();
        String strCipherText = new String();
        String strDecryptedText = new String();

        KeyGenerator keyGen = KeyGenerator.getInstance("AES");
        keyGen.init(128);
        SecretKey secretKey = keyGen.generateKey();

        Cipher aesCipher = Cipher.getInstance("AES");
        aesCipher.init(Cipher.ENCRYPT_MODE,secretKey);

        strDataToEncrypt = "any text input";
        byte[] byteDataToEncrypt = strDataToEncrypt.getBytes();
        byte[] byteCipherText = aesCipher.doFinal(byteDataToEncrypt); 
        strCipherText = new BASE64Encoder().encode(byteCipherText);
        System.out.println("cipher text: " +strCipherText);
        aesCipher.init(Cipher.DECRYPT_MODE,secretKey,aesCipher.getParameters());
        byte[] byteDecryptedText = aesCipher.doFinal(new BASE64Decoder().decodeBuffer(strCipherText));
        strDecryptedText = new String(byteDecryptedText);
        System.out.println("plain text again: " +strDecryptedText);

Ich benötige jedoch zwei verschiedene Programme (Java-Dateien) zum Ver- und Entschlüsseln. Also muss ich irgendwie einen Schlüssel generieren und diesen irgendwo speichern. Verwenden Sie dann denselben Schlüssel für das Ver- und Entschlüsselungsprogramm. Wie kann ich das machen?

EDIT_1

KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(128);
SecretKey secretKey = keyGen.generateKey();
byte[] encoded = secretKey.getEncoded(); 
System.out.println("key: "+encoded);// key: [B@52b2a2d8

Ich kann den verschlüsselten Schlüsselwert mit dem obigen Programm erhalten. Aber meine Frage ist, wie ich den SecretKey mit diesem Wert in meinem Entschlüsselungsprogramm generieren kann?