ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle10g增加在线加密过程的功能

Oracle10g增加在线加密过程的功能

原创 Linux操作系统 作者:yangtingkun 时间:2010-12-05 23:36:27 0 删除 编辑

Oracle提供了WRAP工具,可以对存储过程进行加密,而在10g中,这个操作已经可以在数据库中完成。

 

 

OracleDBMS_DDL增加了一个WRAP函数,通过这个函数,就可以返回加密后的过程:

SQL> select dbms_ddl.wrap('create procedure p_wrap as begin null; end;') from dual;

DBMS_DDL.WRAP('CREATEPROCEDUREP_WRAPASBEGINNULL;END;')
--------------------------------------------------------------------------------------
create procedure p_wrap wrapped
a000000
354
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
25 59
fpR2Lh8mLtoZnFowf5kMdCUxdiYwg5nnm7+fMr2ywFwW45aW8lZpuHQruMAy/tJepZmBCC0r
uIHHLcmmprNznsM=

有了这个功能,用户就不需要单独执行命令行的wrap工具了,存储过程的加密工作在数据库中就可以完成。

Oracle还有更加方便的功能,根据未加密的存储过程直接创建加密后的过程:

SQL> exec dbms_ddl.create_wrapped('create procedure p_wrap as begin null; end;')

PL/SQL procedure successfully completed.

SQL> select text from user_source where name = 'P_WRAP' order by 1;

TEXT
------------------------------------------------------------------------------------
procedure p_wrap wrapped
a000000
354
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
25 59
fpR2Lh8mLtoZnFowf5kMdCUxdiYwg5nnm7+fMr2ywFwW45aW8lZpuHQruMAy/tJepZmBCC0r
uIHHLcmmprNznsM=

对于长度超过32767的存储过程,CREATE_WRAPPED过程还重载了其他两个方法,用户可以将存储过程切割成25632767的字符串,存储到一个索引表中,接口是DBMS_SQL.VARCHAR2SDBMS_SQL.VARCHAR2A

使用CREATE_WRAPPED使得创建机密的存储过程变得更加的简单。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-680950/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ORA-3137(12333)错误
请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10456312