Здравствуйте!!! Вот это мой тестовый пример. Я зашифровываю данные , а потом сразу их пытаюсь расшифровываю, но результат не утешительный.
Код | //шифрую KeyGenerator keyGenerator = KeyGenerator.getInstance("DES"); keyGenerator.init(new SecureRandom()); SecretKey key = keyGenerator.generateKey(); System.out.println(key); String data = "abc"; Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE, key); ByteArrayOutputStream bos = new ByteArrayOutputStream(); CipherOutputStream cos = new CipherOutputStream(new ObjectOutputStream(bos), cipher); cos.write(data.getBytes()); byte[] a = data.getBytes(); byte[] s = bos.toByteArray(); System.out.println(a.length); System.out.println(s.length); cos.close(); bos.close();
//расшифвровываю cipher.init(Cipher.DECRYPT_MODE, key); ByteArrayInputStream bis = new ByteArrayInputStream(s); CipherInputStream cis = new CipherInputStream(new ObjectInputStream(bis), cipher); byte[] result = new byte[bos.toByteArray().length]; cis.read(result); System.out.println(result.length); System.out.println(new String(result));
|
Потоки ByteArrayOutputStream и ByteArrayInputStream хотелось бы оставить по скоку байты мне нужны полученые при шифровании и расшифровке, а через метод этих классов toByteArray я могу получить их. |