Annonceindlæg fra itm8
11. november 2005 - 14:51
#1
eksempel: package november; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; public class AES { private static void crypt(int mode, String fromname, String toname, String key) throws Exception { Cipher aes = Cipher.getInstance("AES"); aes.init(mode, new SecretKeySpec(key.getBytes("UTF-8"), "AES")); InputStream is = new FileInputStream(fromname); OutputStream os = new FileOutputStream(toname); byte[] b = new byte[10000]; int n; while((n = is.read(b)) >= 0) { byte[] b2; if(n < b.length) { b2 = aes.doFinal(b, 0, n); } else { b2 = aes.update(b, 0, n); } os.write(b2, 0, b2.length); System.out.println(n + " " + b2.length); } is.close(); os.close(); } public static void encrypt(String fromname, String toname, String key) throws Exception { crypt(Cipher.ENCRYPT_MODE, fromname, toname, key); } public static void decrypt(String fromname, String toname, String key) throws Exception { crypt(Cipher.DECRYPT_MODE, fromname, toname, key); } public static void main(String[] args) throws Exception { encrypt("C:\\z.1", "C:\\z.2", "Top hemmelig key"); decrypt("C:\\z.2", "C:\\z.3", "Top hemmelig key"); } }
11. november 2005 - 14:52
#2
kryptering kører på bytes derfor bruger jeg binær IO ikke tekst IO (du kan læse linier ind i en String, konvertere den til et byte array og så kryptere men jeg kunne ikke se noget formål)