网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.系统从oracle版本转化为sqlserve.
.使用Explain进行查询及应用优化.
.Oracle 数据库管理脚本命名规范.
.如何移动表来减小数据文件的大小.
.内存管理简介.
.Oracle预定义角色.
.细化解析:Oracle数据库后台进程.
.在Linux下安装VNC 远程安装Oracle.
.Oracle的共享内存段.
.如何把应用程序和Oracle客户端一.
.Oracle收购TimesTen 提高数据库软.
.Oracle使用若干技术.
.利用oradim重建Oracle服务.
.oracle分区表学习及应用.
.中关键技术及难点.
.用DBMS_SYS_SQL包进行批量授权.
.Windows安装Oracle出现错误.
.Oracle和MS SQL Server你选谁?.
.oracle 10g 新特性中文笔记二.
.在redhat Linux9下安装Oracle9.2.

ORACLE 应用经验(4)-加密程序

发表日期:2008-2-9



  -------------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:=bCssubstr(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:=bcssubstr(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_SSsubstr(to_char(jg),1,14));
  End;
  /
  grant execute on ENCRYPT to public;
上一篇:ORACLE 应用经验(3)-DBMS_SQL封装过程 人气:621
下一篇:ORACLE存储过程管道通信的例子 人气:1059
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐