1. 获取GUEST用户密码(前台用户)
ERP中GUEST默认密码一般都是ORACLE
该密码可以从v$CONTEXT_FILE中得到
2.创建解密PACKAGE
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;
3.获取APPS密码
--取得APPS密码密文
select encrypted_foundation_password from apps.fnd_user_view where user_name='GUEST';
得到一长串加密的APPS密码。
--取得APPS密码明文
将加密的APPS密码放在如下SQL中的第二个参数,得到明文密码。
select apps.cux_fnd_web_sec.decrypt('GUEST/ORACLE','ZGDC6BEF0EAEDA62FFE38153CFD688DFB90CFCFEDD9CE12DECF2890969055A59139DA610B0A96574B6644EF06F7FF0163CD8') pwd from dual;
该密码可以从v$CONTEXT_FILE中得到
2.创建解密PACKAGE
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;
3.获取APPS密码
--取得APPS密码密文
select encrypted_foundation_password from apps.fnd_user_view where user_name='GUEST';
得到一长串加密的APPS密码。
--取得APPS密码明文
将加密的APPS密码放在如下SQL中的第二个参数,得到明文密码。
select apps.cux_fnd_web_sec.decrypt('GUEST/ORACLE','ZGDC6BEF0EAEDA62FFE38153CFD688DFB90CFCFEDD9CE12DECF2890969055A59139DA610B0A96574B6644EF06F7FF0163CD8') pwd from dual;
本文转自ITPUB博客tolywang的博客,原文链接:忘记APPS密码 - EBS从数据库中反编译获取APPS密码,如需转载请自行联系原博主。