oracle用存储过程加密有什么
create or replace package PG_ENCRYPT_DECRYPTisiKey varchar2
(8):='oracle9i';function GEN_RAW_KEY
( iKey in varchar2) return raw;function DECRYPT_3KEY_MODE(iValue in raw,iMode in pls_integer)return varchar2;function ENCRYPT_3KEY_MODE(iValue in varchar2,iMode in pls_integer)return raw;function Forma...全部
create or replace package PG_ENCRYPT_DECRYPTisiKey varchar2
(8):='oracle9i';function GEN_RAW_KEY
( iKey in varchar2) return raw;function DECRYPT_3KEY_MODE(iValue in raw,iMode in pls_integer)return varchar2;function ENCRYPT_3KEY_MODE(iValue in varchar2,iMode in pls_integer)return raw;function FormatStr(iValue in varchar2)return varchar2;function FormatStr2(iValue in varchar2)return varchar2;end;/////////create or replace package body PG_ENCRYPT_DECRYPTis
function GEN_RAW_KEY
( iKey in varchar2)
return raw
as
rawkey raw(240) := '';
begin
for i in 1。
。length(iKey) loop
rawkey := rawkey||hextoraw(to_char(ascii(substr(iKey, i, 1))));
end loop;
return rawkey;
end GEN_RAW_KEY;
/* Creating function DECRYPT_3KEY_MODE*/
FUNCTION DECRYPT_3KEY_MODE
( iValue in raw, iMode in pls_integer)return varchar2
as
vDecrypted varchar2(4000);
rawkey raw(240) := '';
begin
rawkey := GEN_RAW_KEY(iKey);-- decrypt input string
vDecrypted := dbms_obfuscation_toolkit。
des3decrypt (UTL_RAW。CAST_TO_VARCHAR2(iValue), key_string => rawkey, which => iMode);
return FormatStr2(vDecrypted);
end DECRYPT_3KEY_MODE;
/*Creating function ENCRYPT_3KEY_MODE*/
FUNCTION ENCRYPT_3KEY_MODE
( iValue in varchar2,
iMode in pls_integer)return raw
as
vEncrypted varchar2(4000);
vEncryptedRaw Raw(2048);
rawkey raw(240) := '';
begin
rawkey := GEN_RAW_KEY(iKey);-- encrypt input string
vEncrypted := dbms_obfuscation_toolkit。
des3encrypt (FormatStr(iValue), key_string => rawkey, which => iMode);
-- convert to raw as out
vEncryptedRaw := UTL_RAW。
CAST_TO_RAW(vEncrypted);
return vEncryptedRaw;
end ENCRYPT_3KEY_MODE;。收起