Java:如何编写二进制文件?
我已经做了几年的Web编程,从那时起,我没有为桌面应用程序做任何编程,我已经忘记了很多事情。如果这太简单,请耐心等待。
现在我有这种情况:
我正在尝试在文件中存储一些散列单词。我认为我应该为此使用二进制文件(如果我错了,请纠正我)。但是我不知道我应该如何将单词写入文件。我尝试了很多方法,但是当我读回文件并尝试解密单词时,我得到了.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));
}