我得到了一个返回varchar2的sql查询,然后我需要用"dbms_obfuscation_toolkit.desencrypt“加密这些结果,但问题是它只能加密8字节或其倍数,并且结果并不总是8字节;
有没有解决这个问题的解决方案,或者pl/sql的替代加密工具?
这是代码;
DECLARE
TYPE name_array is table OF varchar2(100);
var_input name_array;
var_key varchar2(16) := 'Anahtar1';
var_enc varchar2(1024);
var_dec varchar2(1024);
cursor c1 is
SELECT owner FROM sys.all_objects;
BEGIN
open c1;
fetch c1 bulk collect into var_input;
close c1;
FOR i IN var_input.FIRST .. var_input.LAST
LOOP
dbms_obfuscation_toolkit.DESEncrypt(
input_string => var_input(i),
key_string => var_key,
encrypted_string => var_enc);
dbms_output.put_line('encrypted...');
END LOOP;
END;发布于 2011-12-11 08:53:04
请改用DBMS_CRYPTO。
发布于 2011-12-14 10:41:46
sql> EXECUTE enkripsi ('oh semoga nilaiku bagus');enkripsi berhasil字符串sebelum enkripsi : oh semoga nilaiku bagus字符串sesudah enkripsi : oh s3mog4 n1l41ku b4gus PL/SQL>EXECUTE enkripsi ('kyt kmnwxz zzbfr');enkripsi gagal PL/SQL过程编译成功。
https://stackoverflow.com/questions/8460599
复制相似问题