Я занимаюсь веб-программированием уже несколько лет, и с тех пор я не занимался программированием для настольных приложений, и я забыл так много вещей. Пожалуйста, будьте терпеливы, если это слишком просто.
Теперь у меня такая ситуация:
Я пытаюсь сохранить некоторые хешированные слова в файле. Я думаю, что я должен использовать двоичные файлы для этого (пожалуйста, исправьте меня, если я не прав). Но я понятия не имею, как мне записать слова в файл. Я пробовал много способов, но когда я читаю обратно файл и пытаюсь расшифровать слова, я получаю BadPaddingException
.
Кто-нибудь знает, как записать слова в файл?
P.S .: Я использую этот код для шифрования / дешифрования слов (я получил его из другого потока 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));
}