Qui è la mia implementazione di un AES 256 cifrare e decifrare, sviluppata con la libreria nativa di JDK 5:AES cifrare/decifrare con il fornitore 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);
}
Voglio realizzare gli stessi metodi con il Castello boucy API (Java): ho cercato molto, testato molto, senza risultati ... qualcuno può aiutarmi?
Grazie
Ti rendi conto che utilizzerai la stessa API, ma solo un fornitore diverso? Ad ogni modo, leggi [qui] (http://stackoverflow.com/questions/2435338/java-bouncy-castle-cryptography-encrypt-with-aes). – Perception
Nota che AES256 è disabilitato per impostazione predefinita in tutte le versioni Java di Oracle. È necessario installare i file di criteri di giurisdizione illimitata di Java Cryptography Extension (JCE) per Java 5. BTW: Java 5 non è aggiornato e non è sicuro. Non usarlo più. – Robert
Lo so Robert, grazie. Percezione, voglio usare Boucny Castle perché è più portatile della lib nativa di Java (solo da JDK 6+) – fikouRaf