0

我正在使用 oracle DBMS_LDAP 模块执行任务,并且需要保护该过程。

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

  l_retval := DBMS_LDAP.simple_bind_s(ld     => l_session,
                                      dn     => l_ldap_user,
                                      passwd => l_ldap_passwd);

我还需要保护这个密码不让其他人得到它......那该怎么做呢?

我虽然可以将密码放在安全表中.. 可以工作。不过,我需要每个人都可以使用此程序..所以我不确定它是如何工作的。

我不确定我的选择是什么。

有任何想法吗?

4

1 回答 1

0

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

“包装 PL/SQL 源文本不是隐藏密码或表名的安全方法。要获得高保证的安全性,请使用 Oracle Database Vault,如 Oracle Database Vault 管理员指南中所述。”

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=
于 2013-01-13T08:11:11.393 回答