注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
Norton AntiVirus 2005测试版截图
用WinRAR解析木马病毒的捆绑原理
识破用WinRAR捆绑的木马
查杀耗CPU资源的Explored病毒
亲手编制Word病毒─自己动手 深入
用Norton Internet Security拦截
信息安全的隐患-GoogleHacking原
安全配置Norton Security2004
快速干掉感染Internet Explorer的
Htran把内网肉鸡做成SOCKS5代理
您现在的位置: 顶尖设计 >> IT学院 >> 数据库 >> ORACLE >> 文章正文
ORACLE应用经验(4)-加密程序
作者:佚名  来源:不详  点击:  更新:2006-12-20
简介:
-------------1. 加密程序数据库触发子scjmmm----------------------
REM  对GHXXB制立数据库触发子(当INSERT OR UPDATE GHXXB时触发)
drop trigger scjmmm;
create or replace trigger  scjmmm 
before insert or  update of mm  On ghxxb For each Row
Begin
    :new.mm:=ENCRYPT(:new.mm,:NEW.GH,TO_CHAR(SYSDATE,'SS'));
End;
/
-------------2. 密码的加密程序ENCRYPT----------------------
Create or Replace 
Function ENCRYPT (Inpass In Varchar2,IN_GH In Varchar2,IN_SS In Varchar2)
 Return Varchar2 Is 
  bcs   varchar2(20);
  bcs1  number;
  cs    number;
  jg    number;
  m_gh  VARCHAR2(4);
  m_mm  VARCHAR2(20);
Begin
      m_gh:=IN_GH;
      m_mm:=INPASS;
      cs:=TO_NUMBER(IN_SS);
      If cs<=1 then cs:=77 ;end if;
      bcs:=substr(to_char(ascii(substr(m_gh,1,1))),1,2);
      If bcs<'1' then bcs:='7' ;end if;
      m_gh:=substr(m_gh,2);
      Loop EXIT WHEN nvl(length(m_gh),0)=0 ;
           bcs:=bcs||substr(to_char(ascii(substr(m_gh,1,1))),-1,1);
           m_gh:=substr(m_gh,2);
      End loop;
      Loop EXIT WHEN nvl(length(m_mm),0)=0 ;
           bcs:=bcs||substr(to_char(ascii(substr(m_mm,1,1))),-1,1);
           m_mm:=substr(m_mm,2);
      End loop;   
      bcs1:=to_number(bcs);     
      jg:=cs*bcs1;
      Loop EXIT WHEN length(to_char(jg))>13;
           jg:=jg*cs ;
      End loop;
      RETURN(IN_SS||substr(to_char(jg),1,14));
End;
/
grant execute on ENCRYPT to public;




  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务