数据库加密报错

加密函数:


CREATE OR REPLACE function 

encrypt_info(p_text varchar2, p_key varchar2) return varchar2 is

v_text varchar2(4000);

v_enc varchar2(4000);

raw_input RAW(128) ;

key_input RAW(128) ;

decrypted_raw RAW(2048);

begin

v_text := rpad( p_text, (trunc(length(p_text)/8)+1)*8, chr(0));

raw_input := UTL_RAW.CAST_TO_RAW(v_text);

key_input := UTL_RAW.CAST_TO_RAW(p_key);

dbms_obfuscation_toolkit.DESEncrypt(input => raw_input,key => key_input,encrypted_data =>decrypted_raw);

v_enc := rawtohex(decrypted_raw);

dbms_output.put_line(v_enc);

return v_enc;

end;

 








update info set phone= encrypt_des(phone,'padpad_padpadd')  where phone is not null or phone !=''; 

执行更新语句调用加密函数报错:

ORA-28232: obfuscation 工具箱的输入长度无效

ORA-06512: 在 "SYS.DBMS_OBFUSCATION_TOOLKIT_FFI", line 21

ORA-06512: 在 "SYS.DBMS_OBFUSCATION_TOOLKIT", line 99

ORA-06512: 在 "BB_SZRX.ENCRYPT_DES", line 12

百度了半天没有解决,有没有大神懂得这方面啊

回音无痕 发布于 2018-11-21 16:01 (编辑于 2018-11-21 16:08)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
6
snrtuemcLv8专家互助
发布于2020-9-4 22:21

参考https://www.anbob.com/archives/1313.html

和你报错一样,里面有解决方案

  • 2关注人数
  • 756浏览人数
  • 最后回答于:2020-9-4 22:21
    请选择关闭问题的原因
    确定 取消
    返回顶部