加密函数: 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 百度了半天没有解决,有没有大神懂得这方面啊 |
最佳回答 |
||||
6
|
|