预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Oracle数据库替代加密算法关于Oracle数据库替代加密算法替代密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代后形成密文。例如:明文字母a、b、c、d,用D、E、F、G做对应替换后形成密文。这里在Oracle的存储过程,通过替换加密算法来实现密码存入数据库时的加密。1.--------------------------------2.--------------------------------3.--Oracle数据库加密----替代算法---4.--5.--------------------------------6.CREATEORREPLACEPROCEDUREpro_insert(7.uNameINscott.users.uname%TYPE,--用户名8.uPwdINscott.users.upwd%TYPE--密码,这个要加密9.)IS10.BEGIN11.12.--定义变量13.DECLARE14.insertSQLnvarchar2(200);--一个待构造的`sql语句15.keynumeric(2);--密钥16.totalLetternumeric(2);--字母的总个数17.targetCodenvarchar2(15);--转化后的字符密码表示18.lengthUpwdnumeric(2);--密码长度19.initCodeValnumeric(3);--原始密码每位上字符对应的数值20.targetCodeValnumeric(3);21.BEGIN22.23.key:=3;--密钥赋值24.totalLetter:=26;--字母总数25.targetCode:='';--转化后的字符26.27.28.--获取初始密钥的长度29.lengthUpwd:=LENGTH(uPwd);30.31.--逐个对初始密钥进行加密32.FORiIN1..lengthUpwd33.LOOP34.35.initCodeVal:=ASCII(SUBSTR(uPwd,i,1))-96;36.--如果替代后的字母超过了z37.targetCodeVal:=MOD((initCodeVal+key),totalLetter);38.39.--如果是字母z40.IFtargetCodeVal=0THEN41.targetCodeVal:=26;42.ENDIF;43.44.targetCodeVal:=targetCodeVal+96;45.46.--将加密后的字符拼装47.targetCode:=targetCode||CHR(targetCodeVal);48.ENDLOOP;49.50.--构造一个sql语句51.insertSQL:='INSERTINTOusers(uName,uPwd)VALUES('''52.||uName||''','''||targetCode||''')';53.EXECUTEIMMEDIATETO_CHAR(insertSQL);54.55.END;56.ENDpro_insert;