1、建立加解密JAVA封装PL/SQL package。
加密过程:明文+密钥+加密函数=〉密文
oracle.apps.fnd.security.WebSessionManagerProc.encrypt(java.lang.String,java.lang.String) return java.lang.String
第1个参数:密钥;第2个参数:明文 =〉返回:密文
解密过程:密文+密钥+解密函数=〉明文
oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String
第1个参数:密钥;第2个参数:密文 =〉返回:明文
CREATE OR REPLACE package APPS.cux_fnd_web_sec authid current_user as
--加密函数
function encrypt(key in varchar2, value in varchar2) return varchar2;
--解密函数
function decrypt(key in varchar2, value in varchar2) return varchar2;
end;
/
CREATE OR REPLACE package body APPS.cux_fnd_web_sec as
function encrypt(key in varchar2, value in varchar2) return varchar2 as language java name'oracle.apps.fnd.security.WebSessionManagerProc.encrypt(java.lang.String,java.lang.String) return java.lang.String';
function decrypt(key in varchar2, value in varchar2) return varchar2 as language java name'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String';
end; /
2、获取EBS数据用户APPS密码。
--取得APPS密文
select encrypted_foundation_password
from apps.fnd_user_view
where user_name='GUEST';
密文:ZG6EBD472D1208B0CDC78D7EC7730F9B249496F825E761BA3EB2FEBB54F6915FADA757EF4558CF438CF55D23FE32BE0BE52E
--取得APPS明文
select apps.cux_fnd_web_sec.decrypt('GUEST/ORACLE',
'ZG6EBD472D1208B0CDC78D7EC7730F9B249496F825E761BA3EB2FEBB54F6915FADA757EF4558CF438CF55D23FE32BE0BE52E') pwd
from dual;
明文:APPS
3、获得EBS SYSADMIN用户密码。
前提是要有APPS密码,这里设置的密码是:APPS。
--获得SYSADMIN密文
select encrypted_user_password
from fnd_user
where 1=1
and user_name ='SYSADMIN';
密文:ZHF57EAF37B1936C56755B134DE7C83AE40CADDD4AA83B1D7455E5533DC041773B494D2AA04644FB5A514E5C5614F3C87888
--获得SYSADMIN明文
select cux_fnd_web_sec.decrypt('APPS',
'ZHF57EAF37B1936C56755B134DE7C83AE40CADDD4AA83B1D7455E5533DC041773B494D2AA04644FB5A514E5C5614F3C87888') pwd
from dual;
明文:sysadmin
4、获得EBS数据库用户PO的密码。
前提是要有APPS密码,这里设置的密码是:APPS。
--获取PO密文
select encrypted_oracle_password
from fnd_oracle_userid
where 1=1
and oracle_username = 'PO';
密文:ZGFF10BC9C9BC3B052DACB39EDDEE2F82ACCEF1B42D909940B92108333707D1A1044D27A104F575B20A02104618F0CC241E4
--获取PO明文
select cux_fnd_web_sec.decrypt('APPS',
'ZGFF10BC9C9BC3B052DACB39EDDEE2F82ACCEF1B42D909940B92108333707D1A1044D27A104F575B20A02104618F0CC241E4') pwd
from dual;
明文:PO