मैं कई वर्षों से वेब प्रोग्रामिंग कर रहा हूं और तब से मैंने डेस्कटॉप एप्लिकेशन के लिए कोई प्रोग्रामिंग नहीं किया है, और मैं इतनी सारी चीज़ें भूल गया हूं। अगर यह बहुत आसान है तो कृपया धैर्य रखें।जावा: बाइनरी फाइलें कैसे लिखें?
अब मेरे पास यह स्थिति है:
मैं एक फ़ाइल में कुछ हैश किए गए शब्दों को स्टोर करने की कोशिश कर रहा हूं। मुझे लगता है कि मुझे इसके लिए बाइनरी फाइलों का उपयोग करना चाहिए (अगर मैं गलत हूं तो कृपया मुझे सही करें)। लेकिन मुझे नहीं पता कि मुझे फाइल में शब्दों को कैसे लिखना चाहिए। मैंने कई तरीकों की कोशिश की, लेकिन जब मैं फ़ाइल को वापस पढ़ता हूं, और शब्दों को डिक्रिप्ट करने का प्रयास करता हूं, तो मुझे BadPaddingException
मिलता है।
क्या किसी को यह भी पता है कि फाइल को शब्दों को कैसे लिखना है?
पुनश्च: मैं एनक्रिप्ट करने/शब्द decrypting (मैं, एक और 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 (decrypt (एन्क्रिप्ट करना है) ("हैलो वर्ल्ड"))); '? – bezmax
हाँ, और यह काम करता है! –
फिर कृपया अपना I/O कोड पेस्ट करें। – bezmax