Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle:DBMS_LDAP。如何在存储过程中保护密码_Oracle_Security_Passwords - Fatal编程技术网

Oracle:DBMS_LDAP。如何在存储过程中保护密码

Oracle:DBMS_LDAP。如何在存储过程中保护密码,oracle,security,passwords,Oracle,Security,Passwords,我正在使用oracle DBMS_LDAP模块执行一项任务,并且需要确保该过程的安全 在建立会话和连接的调用中,我需要提供密码 l_retval := DBMS_LDAP.simple_bind_s(ld => l_session, dn => l_ldap_user, passwd => l_ldap_pa

我正在使用oracle DBMS_LDAP模块执行一项任务,并且需要确保该过程的安全

在建立会话和连接的调用中,我需要提供密码

  l_retval := DBMS_LDAP.simple_bind_s(ld     => l_session,
                                      dn     => l_ldap_user,
                                      passwd => l_ldap_passwd);
我还需要保护这个密码不被其他人使用。。。那怎么做呢

我想我可以把密码放在一个安全的表中。。可能有用。但是我需要每个人都能使用这个程序。。所以我不确定这是怎么回事

我不确定我的选择是什么

有什么想法吗?

您可以使用“包装工具”包装(模糊)您的过程,但Oracle声明:

包装PL/SQL源文本不是隐藏密码或表名的安全方法。为确保高安全性,请使用《Oracle数据库Vault管理员指南》中介绍的Oracle数据库Vault


我认为您永远无法为“任何其他人”保护密码。无论采用何种方法,作为PL/SQL代码访问权限的人都可以在未保护受保护密码后添加DBMS_输出行或将其写入表中。我脑海中浮现的第一件事是本地编译。我没有使用它,但我知道一些供应商使用它来隐藏他们的代码。
create or replace procedure p
as
  l_password varchar2(100);
begin
  l_password := 'mysupersecretpassord';
end;
/

me@XE> @source p

SOURCE
--------------------------------------------------------------------------------

CREATE OR REPLACE PROCEDURE "ME"."P" as   l_password varchar2(100);
begin   l_password := 'mysupersecretpassord'; end;


$ wrap iname=p.prc

PL/SQL Wrapper: Release 11.2.0.2.0- 64bit Production on Sun Jan 13 08:37:42 2013

Copyright (c) 1993, 2009, Oracle.  All rights reserved.

Processing p.prc to p.plb

me@XE> @p.plb

Procedure created.

me@XE> @source p

SOURCE
--------------------------------------------------------------------------------

CREATE OR REPLACE PROCEDURE "ME"."P" wrapped
a000000
369
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd

abcd
abcd
abcd
abcd
abcd
abcd
7
5e 96
VoaqA4NZ8B46JZ/ptgsDoULsSlwwg5nnm7+fMr2ywFwWj8B0iwlp
pfQouHTLy/4owMznx3TA
M7h0ZSV8IXxQoIvAwDL+0oRcOAEKDkG6k3GjyKPDbuxxiaMJyFRxbg+JUUj
XQ/zB4Nempk3k
q6k=