错误码:-6803
错误内容:非法的参数数据
错误级别: ERROR
原因:输入不能少于8字节,key不能少于16字节, DES 和 DES3 加解密的块大小为 8BYTES,因此用于加解密的数据必须是 8 的整数倍
CREATE OR REPLACE PROCEDURE PROC_DESENCRYPT(input_string IN VARCHAR(50),key_string IN VARCHAR(50))
AS
encrypted_string VARCHAR2(2048);
decrypted_string VARCHAR2(2048);
BEGIN
dbms_obfuscation_toolkit.DESEncrypt(
input_string, key_string, encrypted_string );
-- 打印加密后数据
dbms_output.put_line('> Encrypted string : ' || encrypted_string);
dbms_obfuscation_toolkit.DESDecrypt(encrypted_string,key_string,decrypted_string);
dbms_output.put_line('> Decrypted output : ' || decrypted_string);
dbms_output.put_line('> ');
if input_string =
decrypted_string THEN
dbms_output.put_line('> DES Encryption and Decryption successful');
END IF;
END;
DBMS_OUTPUT. ENABLE(); -- 启用DBMS_OUTPUT包
call "PROC_DESENCRYPT"('zhangwen','4OXdw4FkLe8386jQ');
call "PROC_DESENCRYPT"('张文','4OXdw4FkLe8386jQ');
执行失败(语句1)
-6803: 非法的参数数据
-6803: DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT line 163
-6803: PROC_DESENCRYPT line 7
解决方法
1、对加密的数据要保证8字节
call "PROC_DESENCRYPT"('张文12','4OXdw4FkLe8386jQ');
文章
阅读量
获赞