oracle - 无法在 oracle 中解码原始字符串;脚本产生 ORA-28817
问题描述
下面是一个简单的脚本,它打算从 base64 解码并使用 3DES 解密
DECLARE
ciphertext VARCHAR2(100) := '\am2cZofWi5vGz3Zk1qzqXcZuLK8Fqso';
l_ovalue RAW(1000);
l_decrypted_data RAW (4000);
key RAW(100) := utl_raw.cast_to_raw('xxx');
BEGIN
l_ovalue := utl_encode.base64_decode(utl_raw.cast_to_raw(ciphertext));
l_decrypted_data := DBMS_CRYPTO.DECRYPT(l_ovalue, dbms_crypto.ENCRYPT_3DES + dbms_crypto.CHAIN_CBC + dbms_crypto.PAD_PKCS5 , key);
dbms_output.put_line('dec STR='||UTL_RAW.CAST_TO_VARCHAR2(l_decrypted_data));
END;
错误跟踪:
[2021-11-15 00:39:45] [99999][28817]
[2021-11-15 00:39:45] ORA-28817: PL/SQL function returned an error.
[2021-11-15 00:39:45] ORA-06512: at "SYS.DBMS_CRYPTO_FFI", line 67
[2021-11-15 00:39:45] ORA-06512: at "SYS.DBMS_CRYPTO", line 44
[2021-11-15 00:39:45] ORA-06512: at line 9
[2021-11-15 00:39:45] Position: 0
此错误的原因是什么以及如何解决?
解决方案
推荐阅读
- jquery - 全选功能在jquery中无法正常工作
- .htaccess - .htaccess 带有电子邮件的重定向字符串
- javascript - 以编程方式更改正在显示的反应组件
- c# - 将一个 DTO 转换为另一个的设计模式
- go - 致命错误:所有 goroutine 都处于休眠状态 - 死锁
- dart - 单击时颤动扩展图块消失
- javascript - 如何在 html cordova android 应用程序中创建“添加到收藏夹”功能?
- html - How can i place submit button inside input field in Bootstrap
- c++ - 复制初始化:为什么即使关闭复制省略也不调用移动或复制构造函数?
- xamarin - 如何在 TextChanged 事件上重绘 ZXing 二维码 - Xamarin