查询EBS用户密码sql语句

CREATE OR REPLACE PACKAGE cux_fnd_web_sec IS
FUNCTION get_user_pass(p_fnd_user    IN VARCHAR2 ,
                         p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
    RETURN VARCHAR2 ;

  FUNCTION get_apps_pass(p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
    RETURN VARCHAR2 ;

  --加密函数
  FUNCTION encrypt(key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2;

  --解密函数
  FUNCTION decrypt(key IN VARCHAR2 , VALUE IN VARCHAR2 ) RETURN VARCHAR2;

END cux_fnd_web_sec;

CREATE OR REPLACE PACKAGE BODY cux_fnd_web_sec IS
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' ;

FUNCTION get_apps_pass(p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
    RETURN VARCHAR2 IS
    l_apps_encrypted_pass VARCHAR2(200 );
    l_apps_decrypted_pass VARCHAR2(200 );
  BEGIN
    -- get apps encrypted pass
    SELECT encrypted_foundation_password
      INTO l_apps_encrypted_pass
      FROM apps.fnd_user
     WHERE user_name = 'GUEST' ;
 
    --decrypt apps pass
    SELECT decrypt(p_guest_login, l_apps_encrypted_pass)
      INTO l_apps_decrypted_pass
      FROM dual;
 
    RETURN l_apps_decrypted_pass;
  END get_apps_pass;

FUNCTION get_user_pass(p_fnd_user    IN VARCHAR2 ,
                         p_guest_login IN VARCHAR2 DEFAULT 'GUEST/ORACLE')
    RETURN VARCHAR2 IS
    l_user_encrypted_pass VARCHAR2(200 );
    l_user_decrypted_pass VARCHAR2(200 );
  BEGIN
    -- get fnd user encrypted pass
    BEGIN
      SELECT encrypted_user_password
        INTO l_user_encrypted_pass
        FROM fnd_user
       WHERE user_name = p_fnd_user;
    EXCEPTION
      WHEN no_data_found THEN
        RETURN 'User ' || p_fnd_user || ' is not exist in FND_USER table';
    END;
 
    --decrypt user pass
    SELECT decrypt(get_apps_pass(p_guest_login), l_user_encrypted_pass)
      INTO l_user_decrypted_pass
      FROM dual;
 
    RETURN l_user_decrypted_pass;
  END get_user_pass;

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;


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gh320/article/details/17059619
文章标签: ebs 用户 密码
个人分类: Oracle EBS
上一篇SQL LOADER使用
下一篇固定资产新增接口
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭