Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

जावा 6 फ़ंक्शन कमांड लाइन में काम कर रहा है, लेकिन ओरेकल सर्वर पर काम नहीं कर रहा है (एईएस 256)

एन्क्रिप्शन करने के लिए अपना स्वयं का जावा कोड बनाने के बजाय, मैं DBMS_CRYPTO पैकेट। यह AES/ECB/PKCS5Padding . का समर्थन करता है एन्क्रिप्शन, आपको एन्क्रिप्ट/डिक्रिप्ट फ़ंक्शंस को कॉल करते समय उचित "प्रकार" सेट करने की आवश्यकता होगी। नीचे दस्तावेज़ीकरण से वही उदाहरण दिया गया है, लेकिन एन्क्रिप्शन प्रकार को संशोधित करके आप अपने जावा कोड में उपयोग कर रहे हैं।

DECLARE
    input_string      VARCHAR2 (200) := 'Secret Message';
    output_string     VARCHAR2 (200);
    encrypted_raw     RAW (2000);              -- stores encrypted binary text
    decrypted_raw     RAW (2000);              -- stores decrypted binary text
    num_key_bytes     NUMBER := 256 / 8;       -- key length 256 bits (32 bytes)
    key_bytes_raw     RAW (32);                -- stores 256-bit encryption key
    encryption_type   PLS_INTEGER
        :=                                     -- total encryption type
           DBMS_CRYPTO.ENCRYPT_AES256 + DBMS_CRYPTO.CHAIN_ECB + DBMS_CRYPTO.PAD_PKCS5;
    iv_raw            RAW (16);
BEGIN
    DBMS_OUTPUT.PUT_LINE ('Original string: ' || input_string);
    key_bytes_raw := DBMS_CRYPTO.RANDOMBYTES (num_key_bytes);
    iv_raw := DBMS_CRYPTO.RANDOMBYTES (16);
    encrypted_raw :=
        DBMS_CRYPTO.ENCRYPT (src   => UTL_I18N.STRING_TO_RAW (input_string, 'AL32UTF8'),
                             typ   => encryption_type,
                             key   => key_bytes_raw,
                             iv    => iv_raw);
    -- The encrypted value "encrypted_raw" can be used here

    decrypted_raw :=
        DBMS_CRYPTO.DECRYPT (src   => encrypted_raw,
                             typ   => encryption_type,
                             key   => key_bytes_raw,
                             iv    => iv_raw);
    output_string := UTL_I18N.RAW_TO_CHAR (decrypted_raw, 'AL32UTF8');

    DBMS_OUTPUT.PUT_LINE ('Decrypted string: ' || output_string);
END;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL एजेंट कार्य - कनेक्शन ठीक से कॉन्फ़िगर नहीं किया जा सकता है या आपके पास इस कनेक्शन पर सही अनुमतियाँ नहीं हो सकती हैं?

  2. ओरेकल में निष्क्रिय होने पर जेबॉस डेटाबेस कनेक्शन टाइमआउट

  3. Oracle SQL त्रुटि:अनुक्रमणिका में गुम या बाहर पैरामीटर ::1

  4. एसक्यूएल में अमान्य पहचानकर्ता त्रुटि के साथ सबक्वेरी

  5. विवरण ऑपरेशन के साथ कॉलम की टिप्पणियां कैसे दिखाएं