"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा और स्काला का उपयोग करके गोलांग में उत्पन्न एईएस एन्क्रिप्टेड टेक्स्ट को कैसे डिक्रिप्ट करें?

जावा और स्काला का उपयोग करके गोलांग में उत्पन्न एईएस एन्क्रिप्टेड टेक्स्ट को कैसे डिक्रिप्ट करें?

2024-11-02 को प्रकाशित
ब्राउज़ करें:714

How to decrypt AES encrypted text generated in Golang using Java and Scala?

गोलंग में एईएस एन्क्रिप्शन और जावा में डिक्रिप्शन

जावा में एईएस एन्क्रिप्टेड टेक्स्ट को डिक्रिप्ट करना

गोलांग फ़ंक्शन द्वारा उत्पन्न एईएस एन्क्रिप्टेड टेक्स्ट को डिक्रिप्ट करने के लिए, जावा कार्यान्वयन की आवश्यकता है। नीचे दिया गया जावा कोड डिक्रिप्शन प्रक्रिया को दर्शाता है:

public class AESDecryption {

    public static String decode(String base64Text, byte[] key) throws Exception {
        byte[] inputArr = Base64.getUrlDecoder().decode(base64Text);
        SecretKeySpec skSpec = new SecretKeySpec(key, "AES");
        Cipher cipher = Cipher.getInstance("AES/CFB/NoPadding");
        int blockSize = cipher.getBlockSize();
        IvParameterSpec iv = new IvParameterSpec(Arrays.copyOf(inputArr, blockSize));
        byte[] dataToDecrypt = Arrays.copyOfRange(inputArr, blockSize, inputArr.length);
        cipher.init(Cipher.DECRYPT_MODE, skSpec, iv);
        byte[] result = cipher.doFinal(dataToDecrypt);
        return new String(result, StandardCharsets.UTF_8);
    }

    public static void main(String[] args) {
        try {
            String encryptedText = "c1bpFhxn74yzHQs-vgLcW6E5yL8zJfgceEQgYl0=";
            byte[] key = "0123456789abcdef".getBytes();
            String decryptedText = decode(encryptedText, key);
            System.out.println("Decrypted text: "   decryptedText);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

इस जावा कोड को गोलांग फ़ंक्शन द्वारा उत्पन्न एन्क्रिप्टेड टेक्स्ट को सफलतापूर्वक डिक्रिप्ट करना चाहिए और मूल प्लेनटेक्स्ट वापस करना चाहिए।

स्कैला संस्करण

स्कैला संस्करण डिक्रिप्शन कोड इस प्रकार है:

object AESDecryption {

    def decode(input: String, key: String): String = {
        val cipher = Cipher.getInstance("AES/CFB/NoPadding")
        val blockSize = cipher.getBlockSize()
        val keyBytes = key.getBytes()
        val inputArr = Base64.getUrlDecoder().decode(input)
        val skSpec = new SecretKeySpec(keyBytes, "AES")
        val iv = new IvParameterSpec(inputArr.slice(0, blockSize).toArray)
        val dataToDecrypt = inputArr.slice(blockSize, inputArr.size)
        cipher.init(Cipher.DECRYPT_MODE, skSpec, iv)
        new String(cipher.doFinal(dataToDecrypt.toArray))
    }

    def main(args: Array[String]): Unit = {
        val encryptedText = "c1bpFhxn74yzHQs-vgLcW6E5yL8zJfgceEQgYl0="
        val key = "0123456789abcdef"
        val decryptedText = decode(encryptedText, key)
        println("Decrypted text: "   decryptedText)
    }
}

यह स्काला कोड एईएस एन्क्रिप्टेड टेक्स्ट को भी डिक्रिप्ट करेगा और प्लेनटेक्स्ट को प्रिंट करेगा।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3