我一直在做网络编程好几年了,从那以后我还没有做桌面应用任何编程,我已经忘记了很多事情。如果这太简单,请耐心等待。Java:如何编写二进制文件?
现在我有这种情况:
我想在文件中存储一些散列的单词。我想我应该使用二进制文件(如果我错了,请纠正我)。但我不知道应该如何将文字写入文件。我尝试了很多方法,但是当我读回文件并尝试解密这些文字时,我得到了BadPaddingException
。
没有人有任何想法如何写的字到一个文件?
PS:我使用的加密/解密的话(我是从另一个StackOverflow的线程,有一些修改)这个代码:
public static byte[] encrypt(String property) throws GeneralSecurityException, UnsupportedEncodingException {
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
SecretKey key = keyFactory.generateSecret(new PBEKeySpec(password));
Cipher pbeCipher = Cipher.getInstance("PBEWithMD5AndDES");
pbeCipher.init(Cipher.ENCRYPT_MODE, key, new PBEParameterSpec(salt, 20));
return pbeCipher.doFinal(property.getBytes("UTF-8"));
}
public static String decrypt(byte[] property) throws GeneralSecurityException, IOException {
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
SecretKey key = keyFactory.generateSecret(new PBEKeySpec(password));
Cipher pbeCipher = Cipher.getInstance("PBEWithMD5AndDES");
pbeCipher.init(Cipher.DECRYPT_MODE, key, new PBEParameterSpec(salt, 20));
return new String(pbeCipher.doFinal(property));
}
你有没有尝试过做'的System.out.println(解密(加密(“Hello world”)));'? – bezmax 2012-01-17 13:10:38
是的,它的工作原理! – 2012-01-17 13:11:34
然后请粘贴您的I/O代码。 – bezmax 2012-01-17 13:13:25