oracle R12依据用户名获取密码

主要是利用java将密文翻译称明文,得出密码

获取的主要包:

  1. --创建Package声明   
  2. CREATE OR REPLACE PACKAGE get_pwd  
  3. AS  
  4.    FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)  
  5.       RETURN VARCHAR2;  
  6. END get_pwd;  
  7. /  
  8.   
  9. --创建Package Body   
  10. CREATE OR REPLACE PACKAGE BODY get_pwd  
  11. AS  
  12.    FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)  
  13.       RETURN VARCHAR2  
  14.    AS  
  15.       LANGUAGE JAVA  
  16.       NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String';  
  17. END get_pwd;  

 

 

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; 

 

查询用户

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 in ( 'PRAJ_TEST','PM216407');

效果如下:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值