2007-02-26

数据库学习指南Oracle数据安全面面观

来源: 本站收集整理 作者:佚名 评论 0 条
 

grant resource to test;

·在test用户下建立一个存储函数mmtranslate,它其实是一个加密程序。下面是一个简 单的例子。

function mmtranslate(m varchar2)

return varchar2

as

i number(2);

kk varchar2(10);

begin

kk:=′′;

i:=1;

loop

if i<=length(m) then

if instr(′1234567890′,substr(m,i,1),1,1)>0 then

kk:=kk||chr(100 to_number(substr(m,i,1)));

elseif instr(‘wxyz‘,substr(m,i,1),1,1)>0 then

kk:=kk||chr(-8 ascii(substr(m,i,1)));

else

kk:=kk||chr(4 ascii(substr(m,i,1)));

end if;

else

exit;

end if;

i:=i 1;

end loop;

return kk;

exception

when others then

return ′-1′;

end;

·在test用户下建表mmtest并插入记录:

create table mmtest

(usnamevarchar2(6),------用户名称

mimavarchar2(6)------加密前的密码);

insert into mmtest values( ‘sfyy‘,‘eds2‘);

commit;

·执行以下语句

SQL>select mmtranslate(‘eds2‘) from dual;

MMTRANSLATE(‘EDS2‘)

----------------------------------------

ihwf

利用DBA权限更改sfyy的密码为上面语句的执行结果:

alter user sffy

identified by ihwf; ;

·修改应用程序,对于开发环境是Develope2000的程序来说,主要是修改主程序的on-lo gon触发器:

declare

mm varchar2(6);

begin

logon(‘test‘,‘carton‘);

select mima into mm from mmtest where usname=‘sfyy‘;

mm:=mmtranslate(mm);

logout;

logon(‘sfyy‘,mm);

end;

然后再利用触发器WHEN-NEW-FROM-INSTANCE执行Callfrom或Newform等 命令,进入业务处理程序。这个主程序应当仅仅由治理员来把握,编译之后将执行文件下发 到各收费点的Clien端。
共15页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 10 [11] [12] [13] [14] [15] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:专家调优秘密之改善Oracle数据库性能  
下一篇:从Oracle数据库的用户错误中恢复
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号