Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re:data encryption
Gyula,
Assuming your not on a version or Oracle that supports DBMS_OBFUSCATION you can try the following package. It's actually been copied from a Metalink doc.
create or replace package encrypt as
function code(inp_data varchar2, key varchar2 default '<your desired value>') return varchar2;
pragma restrict_references(code, RNDS, WNDS, WNPS);
end;
/
create or replace package body encrypt is
function convbin(c1 varchar2) return varchar2 is
loop1 number; value number; divis number; r1 varchar2(30); begin r1 := ''; divis := 128; value := ascii(c1); for loop1 in 0..7 loop if(trunc(value/divis) = 1) then r1 := r1||'1'; else r1 := r1||'0'; end if; value := mod(value, divis); divis := divis/2; end loop; return r1;
function code(inp_data varchar2, key varchar2 default '<your desired value>') return varchar2 is
loop1 number; loop11 number; r1 varchar2(8); r2 varchar2(8); key1 varchar2(4000); r3 number; result varchar2(40); divis number; begin key1 := key; while (length(inp_data) > length(key1)) loop key1 := key1||key1; end loop; result := ''; for loop1 in 1..length(inp_data) loop r1 := convbin(substr(inp_data,loop1,1)); r2 := convbin(substr(key1,loop1,1)); divis := 128; r3 := 0; for loop11 in 1..8 loop if(to_number(substr(r1,loop11,1))+to_number(substr(r2,loop11,1)) = 1) then r3 := r3+divis; end if; divis := divis/2; end loop; result := result||chr(r3); end loop; return result;
grant execute on encrypt to public;
create public synonym encrypt for system.encrypt;
____________________Reply Separator____________________ Author: "Andor; Gyula" <gy.andor_at_euromacc.hu> Date: 5/3/2001 1:35 AM
Hi Gurus !
Is there any standard method to encrypt data? We are making an application that uses application-level privilege system, so we should store passwords for users. Of course we want to store encrypted passwords, but we don't know if is there an existing way for this or try develop own encryption. What do you suggest?
Thanks in advance
Gyula
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Andor, Gyula
INET: gy.andor_at_euromacc.hu
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists --------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists --------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Thu May 03 2001 - 08:42:52 CDT