Tôi đã và đang lập trình web trong nhiều năm và kể từ đó tôi chưa thực hiện bất kỳ chương trình nào cho các ứng dụng dành cho máy tính để bàn và tôi đã quên rất nhiều thứ. Hãy kiên nhẫn nếu điều này quá đơn giản.Java: Cách ghi tệp nhị phân?
Bây giờ tôi có tình huống này:
Tôi đang cố gắng lưu trữ một số từ được băm trong tệp. Tôi nghĩ rằng tôi nên sử dụng các tập tin nhị phân cho điều này (xin vui lòng sửa tôi nếu tôi sai). Nhưng tôi không biết làm thế nào tôi nên viết các từ vào tập tin. Tôi đã thử nhiều cách, nhưng khi tôi đọc lại tệp và cố gắng giải mã các từ, tôi nhận được BadPaddingException
.
Có ai có ý tưởng nào về cách viết các từ vào một tệp không?
PS: Tôi sử dụng mã này để mã hóa/giải mã những lời (tôi đã nhận nó từ một thread StackOverflow, với một vài sửa đổi):
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));
}
Bạn đã thử thực hiện 'System.out.println (giải mã (mã hóa) ("Xin chào thế giới"))); '? – bezmax
Có, và nó hoạt động! –
Sau đó, vui lòng dán mã I/O của bạn. – bezmax