Oto moja implementacja AES 256 szyfrowania i deszyfrowania, opracowany z rodzimej biblioteki JDK 5:AES szyfrowania/deszyfrowania z dostawcy Bouncy Castle
public static String encrypt(String key, String toEncrypt) throws Exception {
Key skeySpec = generateKeySpec(key);
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] encrypted = cipher.doFinal(toEncrypt.getBytes());
byte[] encryptedValue = Base64.encodeBase64(encrypted);
return new String(encryptedValue);
}
public static String decrypt(String key, String encrypted) throws Exception {
Key skeySpec = generateKeySpec(key);
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, skeySpec);
byte[] decodedBytes = Base64.decodeBase64(encrypted.getBytes());
byte[] original = cipher.doFinal(decodedBytes);
return new String(original);
}
Chcę zaimplementować te same metody z zamkiem Boucy API (Java): Dużo szukałem, dużo testowałem, bez rezultatów ... Czy ktoś może mi pomóc?
Dzięki
Zdajesz sobie sprawę, że będziesz używać tego samego API, ale tylko inny dostawca prawa? W każdym razie przeczytaj [tutaj] (http://stackoverflow.com/questions/2435338/java-bouncy-castle-cryptography-encrypt-with-aes). – Perception
Należy pamiętać, że AES256 jest domyślnie wyłączony we wszystkich wersjach Java z Oracle. Musisz zainstalować pliki zasad jurysdykcji Java Cryptography Extension (JCE) Unlimited Strength dla Java 5. BTW: Java 5 jest przestarzała i niezabezpieczona. Nie używaj go już. – Robert
Wiem, że Robert, dzięki. Percepcja, chcę korzystać z Zamku Boucny, ponieważ jest bardziej przenośny niż natywna biblioteka Java (tylko z JDK 6+) – fikouRaf