
einfaches Ver- und Entschlüsseln
Mit Hilfe der Funtion f_str_hide können varchar2 Felder verschlüsselt werden.
Ein bereits verschlüsseltes Feld wird durch erneuten Aufruf der Funktion wieder entschlüsselt.
Beispiel
select dump('Hello World') dump from dual
DUMP
-------------------------------------------------------
Typ=96 Len=11: 72,101,108,108,111,32,87,111,114,108,100
1 row selected
select dump(f_str_hide('Hello World')) entschlüsselt from dual
ENTSCHLÜSSELT
--------------------------------------------------------------------------------
Typ=1 Len=11: 88,59,52,52,49,32,73,49,46,52,60
1 row selected
select f_str_hide('Hello World') verschlüsselt from dual
VERSCHLÜSSELT
--------------------------------------------------------------------------------
X;441 I1.4<
1 row selected
select f_str_hide('X;441 I1.4<') entschlüsselt from dual
ENTSCHLÜSSELT
--------------------------------------------------------------------------------
Hello World
1 row selected
Quellcode
CREATE OR REPLACE function f_str_hide (p_string varchar2) return varchar2
is
-- ***********************************************************************************************
-- Copyright (c) 2005 Gregor Neveling
--
-- NAME f_str_hide
--
-- Funktion: einfaches Ver- Entschlüsseln von varchar2 Feldern
--
-- PARAMETER: zu ver- entschlüsselnder Text
--
-- return Text
--
-- CREATED 24.06.2005 Gregor Neveling
--
-- ***********************************************************************************************
v_string varchar2(2000);
i number(4);
begin
SELECT TRANSLATE(p_string,
'~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)(&%$#"!',
'!"#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~')
into v_string
from dual;
return v_string;
exception
when others then
return p_string;
end f_str_hide;
/
Inhalt