私は数年前からWebプログラミングを行ってきました。それ以来、私はデスクトップアプリケーションのプログラミングを何もやっていませんでした。これが簡単すぎる場合は、辛抱強くお待ちください。Java:バイナリファイルの書き方は?
今私はこの状況です:
ファイルにハッシュワードを保存しようとしています。私はこれにバイナリファイルを使うべきだと思います(私が間違っていれば私を修正してください)。しかし、私はどのようにファイルに単語を書くべきか分かりません。私は多くの方法を試しましたが、ファイルを読み込んで解読しようとすると、BadPaddingException
となります。
単語をファイルに書き込む方法はありますか?
PS:私は言葉(私はいくつかの変更を加えて、別のStackOverflowのスレッドからそれを得た)暗号化/復号化のために、このコードを使用します。ちょうどFileInputStream
とFileOutputStream
を=使用し、
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(decrypt(encrypt ( "Hello world")))); '? – bezmax
はい、動作します! –
その後、I/Oコードも貼り付けてください。 – bezmax