Поймано SQLException :: java.sql.SQLException: ORA-29532: вызов Java завершен из-за необработанного исключения Java: java.sql.SQLException: не удалось получить сведения об учетной записи доступа к серверу: ORA-28817: функция PL / SQL вернула ошибку,
ORA-06512: в "SYS.DBMS_CRYPTO_FFI", строка 67
ORA-06512: в "SYS.DBMS_CRYPTO", строка 44
ORA-06512: в "NM.CIPHER ", строка 41
ORA-06512: в" NM.DEVICE_ACCOUNT ", строка 176
ORA-06512: в строке 1
ORA-06512: в«NM.DEVICE_PROCEDURES», строка 8
ORA-06512: в строке 1
Разработанный код
создать или заменить шифр ПАКЕТА, семь_байт RAW (7): = HEXTORAW ('00000000000000');
ФУНКЦИЯ make_8_bytes (p_string IN RAW) RETURN RAW IS v_length PLS_INTEGER: = MOD (utl_raw.length (p_string), 8);НАЧАТЬ, ЕСЛИ v_length = 0 ТОГДА ВОЗВРАТИТЬ p_string;ELSE RETURN utl_raw.concat (p_string, utl_raw.substr (seven_bytes, 1,8-v_length));END IF;END;
FUNCTION encrypt (p_string IN VARCHAR2, p_key IN RAW) RETURN RAW IS encrypted_raw RAW (2048);l_mod number: = dbms_crypto.ENCRYPT_DES + dbms_crypto.CHAIN_CBC + dbms_crypto.PAD_PKCS5;
BEGIN --dbms_obfuscation_toolkit.DESEnk_c________________________________ к_ к керам_бросам_брос_в_соби_обоз_в__дис_переменной_байке_в_дави_и_и_в_дискахencrypted_data => encrypted_raw);encrypted_raw: = dbms_crypto.encrypt (src => make_8_bytes (utl_raw.cast_to_raw (p_string)), тип => l_mod, ключ => make_8_bytes (p_key));
RETURN encrypted_raw;
EXCEPTION
WHEN OTHERS THEN
v_errm:=SUBSTR(SQLERRM,1,200);
END;
FUNCTION decrypt (p_string IN RAW, p_key IN RAW) RETURN VARCHAR2 IS decrypted_raw RAW (2048);l_ret varchar2 (2000);l_mod number: = dbms_crypto.ENCRYPT_DES + dbms_crypto.CHAIN_CBC + dbms_crypto.PAD_PKCS5;
BEGIN - dbms_obfuscation_toolkit.DESDeryryry_cry__d_D_Dryry_Dry_Dry_Dry_Dry_Dry_Dry_Dry_Dryry_D_Cryp_D_D_Cry_D_Cry_D_Cry_D_Dry_D_Cry_D_Dry_D_Cry_D_Dry_Dry_Dry_D_Cry_D_Cry_Dry_Dry_Dry_Dryry_D_Cryp_D_Cry_D_Dry_Dry_D_Dry_Dry_Dry_Dry_Dry_Dry_Dry_Dry_Dry_Dry_D_Dry_Rate_D_D_D_D_D_D_D_D_D_D_D_S_S_RUdecrypted_raw: = dbms_crypto.Decrypt (src => p_string, typ => l_mod, key => make_8_bytes (p_key));l_ret: = UTL_I18N.RAW_TO_CHAR (decrypted_raw, 'AL32UTF8');RETURN l_ret;--RETURN rtrim (utl_raw.cast_to_varchar2 (decrypted_raw), chr (0));
EXCEPTION
WHEN OTHERS THEN
v_errm:=SUBSTR(SQLERRM,1,200);
END;КОНЕЦ ШИФРА;