Используйте статическую переменную из файла JAR - PullRequest
0 голосов
/ 19 ноября 2018

Я создал исполняемый файл JAR, у которого есть класс с таким кодом:

static KeysetHandle keysetHandle = null;

public String encrypt(String plainText){

    Config.register(AeadConfig.TINK_1_1_0);

       // GENERATE key
       // key generated using tink library
       keysetHandle = KeysetHandle.generateNew(AeadKeyTemplates.AES256_GCM);
}

public String decrypt(String cipherText){

    //using the key generated during encryption to decrypt
                 Aead aeadDecryption = AeadFactory.getPrimitive(keysetHandle);

} 

В другом Java-приложении я импортировал этот JAR-файл как внешний JAR-файл и пытаюсь запустить следующие методы:

import core.Crypto;

public class Sample {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Crypto crypto = new Crypto();
        System.out.println(crypto.encrypt("sampleText"));
        System.out.println(crypto.decrypt("XXX"));
    }
}

Функция шифрования работает, как и ожидалось, но расшифровка возвращает NullPointerException, поскольку keysetHandle равно нулю. Как получить обновленное значение для keysetHandle?

...