Я написал некоторый (функциональный) код шифрования AES, используя встроенные библиотеки шифрования Java, как показано ниже, но я хотел бы использовать 256-битный ключ. Однако я хотел бы сделать это без необходимости установки пользователем файлов политики криптографии Unlimited Strength.
Теперь я слышал, что использование BouncyCastle Lightweight API может позволить мне это сделать, но, к сожалению, у меня возникают большие проблемы с тем, как разобраться в этом, и я изо всех сил стараюсь соответствовать любой документации, которая мне помогает.
Вот мой текущий код, в котором 'content' - это байтовый массив для шифрования:
KeyGenerator kgen = KeyGenerator.getInstance("AES");
int keySize = 128;
kgen.init(keySize);
SecretKey key = kgen.generateKey();
byte[] aesKey = key.getEncoded();
SecretKeySpec aesKeySpec = new SecretKeySpec(aesKey, "AES");
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.ENCRYPT_MODE, aesKeySpec);
byte[] encryptedContent = aesCipher.doFinal(content);
Как бы я решил реализовать это с помощью BouncyCastle Lightweight API? Кто-нибудь может мне помочь и / или указать мне какой-нибудь простой пример кода?
Я также интересуюсь любыми другими решениями, которые позволяют использовать шифрование AES с 256-битным ключом, при этом пользователю не нужно устанавливать файлы политики неограниченной силы.
Большое спасибо!