查询EBS用户密码sql语句



  1. CREATE OR REPLACE PACKAGE cux_fnd_web_sec IS
  2. FUNCTION get_user_pass(p_fnd_user IN VARCHAR2 ,
  3. p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
  4. RETURN VARCHAR2 ;
  5. FUNCTION get_apps_pass(p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
  6. RETURN VARCHAR2 ;
  7. --加密函数
  8. FUNCTION encrypt(key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2;
  9. --解密函数
  10. FUNCTION decrypt(key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2;
  11. END cux_fnd_web_sec;

  1. CREATE OR REPLACE PACKAGE BODY cux_fnd_web_sec IS
  2. FUNCTION encrypt( key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2 AS
  3. LANGUAGE JAVA NAME 'oracle.apps.fnd.security.WebSessionManagerProc.encrypt(java.lang.String,java.lang.String) return java.lang.String' ;
  4. FUNCTION decrypt(key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2 AS
  5. LANGUAGE JAVA NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String' ;
  6. FUNCTION get_apps_pass(p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
  7. RETURN VARCHAR2 IS
  8. l_apps_encrypted_pass VARCHAR2(200 );
  9. l_apps_decrypted_pass VARCHAR2(200 );
  10. BEGIN
  11. -- get apps encrypted pass
  12. SELECT encrypted_foundation_password
  13. INTO l_apps_encrypted_pass
  14. FROM apps.fnd_user
  15. WHERE user_name = 'GUEST' ;
  16. --decrypt apps pass
  17. SELECT decrypt(p_guest_login, l_apps_encrypted_pass)
  18. INTO l_apps_decrypted_pass
  19. FROM dual;
  20. RETURN l_apps_decrypted_pass;
  21. END get_apps_pass;
  22. FUNCTION get_user_pass(p_fnd_user IN VARCHAR2 ,
  23. p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
  24. RETURN VARCHAR2 IS
  25. l_user_encrypted_pass VARCHAR2(200 );
  26. l_user_decrypted_pass VARCHAR2(200 );
  27. BEGIN
  28. -- get fnd user encrypted pass
  29. BEGIN
  30. SELECT encrypted_user_password
  31. INTO l_user_encrypted_pass
  32. FROM fnd_user
  33. WHERE user_name = p_fnd_user;
  34. EXCEPTION
  35. WHEN no_data_found THEN
  36. RETURN 'User ' || p_fnd_user || ' is not exist in FND_USER table';
  37. END;
  38. --decrypt user pass
  39. SELECT decrypt(get_apps_pass(p_guest_login), l_user_encrypted_pass)
  40. INTO l_user_decrypted_pass
  41. FROM dual;
  42. RETURN l_user_decrypted_pass;
  43. END get_user_pass;
  44. END cux_fnd_web_sec;

--先执行上面的代码------
--获取EBS用户密码
SELECT   cux_fnd_web_sec.get_user_pass( 'EBS-YC'   )   FROM   dual;
--获取APPS用户的密码
SELECT   cux_fnd_web_sec.get_apps_pass   FROM   dual;

  1. CREATE OR REPLACE PACKAGE cux_fnd_web_sec IS
  2. FUNCTION get_user_pass(p_fnd_user IN VARCHAR2 ,
  3. p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
  4. RETURN VARCHAR2 ;
  5. FUNCTION get_apps_pass(p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
  6. RETURN VARCHAR2 ;
  7. --加密函数
  8. FUNCTION encrypt(key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2;
  9. --解密函数
  10. FUNCTION decrypt(key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2;
  11. END cux_fnd_web_sec;

  1. CREATE OR REPLACE PACKAGE BODY cux_fnd_web_sec IS
  2. FUNCTION encrypt( key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2 AS
  3. LANGUAGE JAVA NAME 'oracle.apps.fnd.security.WebSessionManagerProc.encrypt(java.lang.String,java.lang.String) return java.lang.String' ;
  4. FUNCTION decrypt(key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2 AS
  5. LANGUAGE JAVA NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String' ;
  6. FUNCTION get_apps_pass(p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
  7. RETURN VARCHAR2 IS
  8. l_apps_encrypted_pass VARCHAR2(200 );
  9. l_apps_decrypted_pass VARCHAR2(200 );
  10. BEGIN
  11. -- get apps encrypted pass
  12. SELECT encrypted_foundation_password
  13. INTO l_apps_encrypted_pass
  14. FROM apps.fnd_user
  15. WHERE user_name = 'GUEST' ;
  16. --decrypt apps pass
  17. SELECT decrypt(p_guest_login, l_apps_encrypted_pass)
  18. INTO l_apps_decrypted_pass
  19. FROM dual;
  20. RETURN l_apps_decrypted_pass;
  21. END get_apps_pass;
  22. FUNCTION get_user_pass(p_fnd_user IN VARCHAR2 ,
  23. p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
  24. RETURN VARCHAR2 IS
  25. l_user_encrypted_pass VARCHAR2(200 );
  26. l_user_decrypted_pass VARCHAR2(200 );
  27. BEGIN
  28. -- get fnd user encrypted pass
  29. BEGIN
  30. SELECT encrypted_user_password
  31. INTO l_user_encrypted_pass
  32. FROM fnd_user
  33. WHERE user_name = p_fnd_user;
  34. EXCEPTION
  35. WHEN no_data_found THEN
  36. RETURN 'User ' || p_fnd_user || ' is not exist in FND_USER table';
  37. END;
  38. --decrypt user pass
  39. SELECT decrypt(get_apps_pass(p_guest_login), l_user_encrypted_pass)
  40. INTO l_user_decrypted_pass
  41. FROM dual;
  42. RETURN l_user_decrypted_pass;
  43. END get_user_pass;
  44. END cux_fnd_web_sec;

--先执行上面的代码------
--获取EBS用户密码
SELECT   cux_fnd_web_sec.get_user_pass( 'EBS-YC'   )   FROM   dual;
--获取APPS用户的密码
SELECT   cux_fnd_web_sec.get_apps_pass   FROM   dual;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值