Find User password for Application in Oracle Apps from Backend:
===============================================
CREATE OR REPLACE PACKAGE aa_get_pwd
AS
FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2;
PROCEDURE check_login(p_user_name IN VARCHAR2,p_pwd IN VARCHAR2,x_status OUT VARCHAR2,x_msg OUT VARCHAR2);
END aa_get_pwd;
/
CREATE OR REPLACE PACKAGE BODY aa_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';
PROCEDURE check_login(p_user_name IN VARCHAR2,p_pwd IN VARCHAR2,x_status OUT VARCHAR2,x_msg OUT VARCHAR2)
IS
lc_user_name VARCHAR2(200);
lc_pwd VARCHAR2(200);
BEGIN
SELECT usr.user_name,
aa_get_pwd.decrypt
((SELECT (SELECT aa_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
INTO lc_user_name,lc_pwd
FROM apps.fnd_user usr
WHERE usr.user_name = p_user_name;
--
IF (lc_pwd = p_pwd AND lc_user_name=p_user_name) THEN
x_status := 'Success';
x_msg := 'Login Successful';
ELSE
x_status := 'Fail';
x_msg := 'Login Un Successful, Please check user name and password';
END IF;
--
EXCEPTION
WHEN OTHERS THEN
x_status := 'Error';
x_msg := SQLERRM;
END check_login;
END aa_get_pwd;
/
SELECT usr.user_name,
aa_get_pwd.decrypt
((SELECT (SELECT aa_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 like '%User Name%' ;
;
===============================================
CREATE OR REPLACE PACKAGE aa_get_pwd
AS
FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2;
PROCEDURE check_login(p_user_name IN VARCHAR2,p_pwd IN VARCHAR2,x_status OUT VARCHAR2,x_msg OUT VARCHAR2);
END aa_get_pwd;
/
CREATE OR REPLACE PACKAGE BODY aa_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';
PROCEDURE check_login(p_user_name IN VARCHAR2,p_pwd IN VARCHAR2,x_status OUT VARCHAR2,x_msg OUT VARCHAR2)
IS
lc_user_name VARCHAR2(200);
lc_pwd VARCHAR2(200);
BEGIN
SELECT usr.user_name,
aa_get_pwd.decrypt
((SELECT (SELECT aa_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
INTO lc_user_name,lc_pwd
FROM apps.fnd_user usr
WHERE usr.user_name = p_user_name;
--
IF (lc_pwd = p_pwd AND lc_user_name=p_user_name) THEN
x_status := 'Success';
x_msg := 'Login Successful';
ELSE
x_status := 'Fail';
x_msg := 'Login Un Successful, Please check user name and password';
END IF;
--
EXCEPTION
WHEN OTHERS THEN
x_status := 'Error';
x_msg := SQLERRM;
END check_login;
END aa_get_pwd;
/
SELECT usr.user_name,
aa_get_pwd.decrypt
((SELECT (SELECT aa_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 like '%User Name%' ;
;