Próbowałem rozwiązać ten problem, ale nigdy nie znalazłem rozwiązania, które byłoby dla mnie skuteczne. Problem polega na tym, że otrzymuję ostrzeżenia dotyczące BASE64Encoder. Czy jest jakiś inny sposób, aby to zrobić bez BASE64Encoder?BASE64Encoder jest wewnętrznym interfejsem API i może zostać usunięty w przyszłym wydaniu
Kod:
public static String Encrypt(String Data) throws Exception
{
Key key = generateKey();
Cipher c = Cipher.getInstance(ALGO);
c.init(Cipher.ENCRYPT_MODE, key);
byte[] encVal = c.doFinal(Data.getBytes());
String encryptedValue = new BASE64Encoder().encode(encVal); //Here is the problem
return encryptedValue;
}
public static String Decrypt(String encryptedData) throws Exception
{
Key key = generateKey();
Cipher c = Cipher.getInstance(ALGO);
c.init(Cipher.DECRYPT_MODE, key);
byte[] decordedValue = new BASE64Decoder().decodeBuffer(encryptedData); //Another problem
byte[] decValue = c.doFinal(decordedValue);
String decryptedValue = new String(decValue);
return decryptedValue;
}
private static Key generateKey() throws Exception
{
Key key = new SecretKeySpec(keyValue, ALGO);
return key;
}