समस्या:
3डीईएस एन्क्रिप्शन का उपयोग करके एक स्ट्रिंग को सफलतापूर्वक एन्क्रिप्ट और डिक्रिप्ट करने में असमर्थ कोड में बार-बार होने वाली त्रुटियों के कारण कार्यान्वयन।
समाधान:
समस्या का समाधान करने के लिए, आइए दिए गए कोड का विश्लेषण करें:
public class TripleDESTest { // ... public byte[] encrypt(String message) { // ... final byte[] plainTextBytes = message.getBytes("utf-8"); final byte[] cipherText = cipher.doFinal(plainTextBytes); final String encodedCipherText = new sun.misc.BASE64Encoder().encode(cipherText); return cipherText; } // ... }
सही कोड:
import java.security .मैसेजडाइजेस्ट; आयात java.util.Arrays; आयात javax.crypto.Cipher; आयात javax.crypto.SecretKey; आयात javax.crypto.spec.IvParameterSpec; आयात javax.crypto.spec.SecretKeySpec; पब्लिक क्लास ट्रिपलडेस्टेस्ट { सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) अपवाद फेंकता है { स्ट्रिंग टेक्स्ट = "काइल बून"; बाइट[] कोडेडटेक्स्ट = नया ट्रिपलडेस्टेस्ट().एन्क्रिप्ट(टेक्स्ट); स्ट्रिंग डिकोडेडटेक्स्ट = नया ट्रिपलडेस्टेस्ट().डिक्रिप्ट(कोडेडटेक्स्ट); System.out.println(डीकोडेडटेक्स्ट); } सार्वजनिक बाइट[] एन्क्रिप्ट (स्ट्रिंग संदेश) अपवाद फेंकता है { अंतिम MessageDigest md = MessageDigest.getInstance("md5"); अंतिम बाइट[] डाइजेस्टऑफपासवर्ड = md.digest('HG58YZ3CR9' .getBytes("utf-8")); अंतिम बाइट[] keyBytes = Arrays.copyOf(digestOfPassword, 24); (int j = 0, k = 16; j
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3