oracle中文加密算法,Oracle数据库替代加密算法

替代密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代 后形成密文。例如:明文字母a、b、c、d ,用D、E、F、G做对应替换后形成密文。

这里在Oracle的存储过程,通过替换加密算法来实现密码存入数据库时的加密。

1.--------------------------------

2.--------------------------------

3.--Oracle数据库加密----替代算法---

4.--http://nileader.blog.51cto.com

5.--------------------------------

6.CREATE OR REPLACE PROCEDURE pro_insert(

7.        uName IN scott.users.uname%TYPE,           --用户名

8.        uPwd  IN scott.users.upwd%TYPE             --密码,这个要加密

9.) IS

10.BEGIN

11.

12.--定义变量

13.DECLARE

14.   insertSQL   nvarchar2(200 );   --一个待构造的sql语句

15.   key         numeric(2);        --密钥

16.   totalLetter numeric(2);        --字母的总个数

17.   targetCode   nvarchar2(15);     --转化后的字符密码表示

18.   lengthUpwd  numeric(2);        --密码长度

19.   initCodeVal numeric(3);        --原始密码每位上字符对应的数值

20.   targetCodeVal numeric(3);

21.   BEGIN

22.

23.      key         := 3;             --密钥赋值

24.      totalLetter := 26;            --字母总数

25.      targetCode  := '';            --转化后的字符

26.

27.

28.      --获取初始密钥的长度

29.      lengthUpwd := LENGTH(uPwd);

30.

31.      --逐个对初始密钥进行加密

32.      FOR i IN 1..lengthUpwd

33.        LOOP

34.

35.          initCodeVal   := ASCII(SUBSTR(uPwd,i,1) ) -96 ;

36.          --如果替代后的字母超过了z

37.          targetCodeVal := MOD((initCodeVal + key), totalLetter );

38.

39.          --如果是字母z

40.          IF targetCodeVal = 0 THEN

41.            targetCodeVal := 26;

42.          END IF;

43.

44.          targetCodeVal := targetCodeVal + 96;

45.

46.          --将加密后的字符拼装

47.          targetCode    := targetCode || CHR(targetCodeVal);

48.        END LOOP;

49.

50.        --构造一个sql语句

51.        insertSQL := 'INSERT INTO users (uName, uPwd ) VALUES('''

52.                                         ||uName||''','''||targetCode||''')';

53.        EXECUTE IMMEDIATE TO_CHAR(insertSQL);

54.

55.   END;

56.END pro_insert;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net中单元测试

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类&…

WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)

对于一般的多线程操作,比如异步地进行基于文件系统的IO操作;异步地调用Web Service;或者是异步地进行数据库访问等等,是和具体的线程无关的。也就是说,对于这些操作,任意创建一个新的线程来执行都是等效的。…

成年人改变生活的方式,都是从它开始

全世界只有3.14 % 的人关注了青少年数学之旅2019已经不足80天,年初立下的flag倒了几个?史蒂夫马丁有一句话:“所有的人生谜语都可以从阅读中找到答案。”无论是读影评、读好书,亦或者涉猎趣闻轶事、汲取犀利观点,总会悄…

组策略链接顺序优先级

“链接顺序”最低的 GPO 最后处理,因此具有最高的优先级。

oracle体系结构和组件图示,Oracle 体系结构组件

Oracle数据库主要由两大组件构成:实例:进程与内存结构。数据库:操作系统文件。实例是我们访问数据库的接口。一个实例只能打开一个数据库。当你用SQLPlus或其它的客户端工具去连接Oracle数据库时,你的客户端进程与服务器端进程通讯…

Request.ServerVariables的详细应用(转)

Request.ServerVariables应用 【摘 要】本文详细介绍关于学习ASP知识之Request.ServerVariables应用的文章专题。本机ip:<%request.servervariables("remote_addr")%>服务器名:<%Request.ServerVariables("SERVER_NAME")%>服务器IP:<%Requ…

uiview生命周期

在viewDidAppear方法中做了一段页面开始的动画&#xff0c;但是动画效果在横屏是没有问题的&#xff0c;在竖屏轨迹总是不对。解决方法执行顺序的问题&#xff0c;页面的加载顺序是2011-11-04 13:48:21.290 jjj[4048:707] viewDidAppear2011-11-04 13:48:21.291 jjj[4048:707] …

表白和被表白时遇到的骚操作,最后一个天秀!| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅【1】【2】【3】【4】【5】【6】【7】【8】【9】

oracle中的的instr,Oracle中instr函数使用方法

举例&#xff1a;scenarioinfo 中有60条数据&#xff0c;其中字段ywwd不为空的有40条(其中包含“积分”的有30条)&#xff0c;字段ywwd为空的有20条。查询scenarioinfo 表中字段ywwd包含“积分”的语句(返回30条数据)&#xff1a;select id, ywwd from scenarioinfo where inst…

这么简单的序列化 System.Text.Json.Serialization 也报错了?

咨询区 kofifus&#xff1a;我准备将项目中的 JSON.NET 切换到原生的 System.Text.Json&#xff0c;但我遇到了个意外报错&#xff0c;测试代码如下&#xff1a;using System.Text.Json.Serialization; using Newtonsoft.Json;public class C {public C(string PracticeName) {…

直观机械动图,一秒看懂原理!

全世界只有3.14 % 的人关注了青少年数学之旅这些神奇唯美的机械动图&#xff0c;让我们不得不感叹制造的魅力&#xff01;仿生四翼飞行机器人▲单手磁性拉链▲风洞实验——模拟飞机飞行▲可以说是最快的折弯机了▲这是谁设计的死循环▲高压水除锈▲摩擦焊接▲打地洞▲能轻松把车…

数据校验器架构模式组

刘 岳林 (yuelin_liumsn.com), 软件工程师2007 年 1 月 15 日本文阐述软件架构与设计模式&#xff0c;它为架构师和开发人员提供了一组关于数据校验的架构模式&#xff08;隔离校验器&#xff0c;可组装校验器&#xff0c;动态策略校验器&#xff0c;动态注册校验器等&#xff…

nobelking 3 js 数字和数字相加 字符串连接 数字和字符串连接1

以下结果是在IE8的测试结果我只测试了变量相加&#xff0c;还没测试变量和常量1.当两个变量&#xff08;已经赋初值 &#xff09;用“”连接&#xff0c;如果含有至少一个为字符串 &#xff0c;无论两个字符串是否定义时有var或者有一个有var&#xff0c;则结果必定为字符串。2…

罗斯文2007(Northwind 2007)数据库、Access 2007 样列数据库分析[转]

Northwind 2007 是 MS 的一套销售类样列库&#xff0c;本片文章主要描述&#xff0c;它的结构及关系。 起因:   前些阵子一直想做一个虚拟项目来学习巩固一下 .net3.0 的一些新技术、为什么要做虚拟项目&#xff1f; 当然是系统的学习一些东西了、我对虚拟项目的要求是不能太…

oracle中sql行数的计算,Oracle技术网—如何利用DBMS_SQL包和游标计算当前用户下所有表的行数...

实现方法&#xff1a;SQL> conn scott/tigerSQL> set serveroutput on size 1000000SQL>SQL> DECLARE2 t_c1_tname user_tables.table_name%TYPE;3 t_command varchar2(200);4 t_cid integer;5 t_total_records number(10);6 stat integer;7 row_count integer;8 t…

WPF 实现任务栏角徽

WPF开发者QQ群&#xff1a; 340500857 | 微信群 -> 进入公众号主页 加入组织欢迎转发、分享、点赞、在看&#xff0c;谢谢~。 01—效果预览效果预览&#xff08;更多效果请下载源码体验&#xff09;&#xff1a;一、TaskbarItemInfoExample.xaml代码如下 <Window x:Cla…

竞赛奇葩队名,学编程的人都是隐藏的段子手 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅

[翻译]asp.net ajax xml-script教程(二)

原文地址&#xff1a;http://dotnetslackers.com/articles/atlas/xml_script_tutorial_part2.aspx asp.net ajax xml-script教程&#xff08;二&#xff09;原文发布日期&#xff1a;2006.12.11作者&#xff1a;Alessandro Gallo翻译&#xff1a;webabcd概述在xml-script教程的…

工具

豆约翰博客备份专家 http://www.appinn.com/douyuehan-blog-backups/ 博客备份工具BlogDown转载于:https://www.cnblogs.com/bing11/p/3539268.html

C程序优化之路(二)

本文讲述在编写C程序代码的常用优化办法&#xff0c;分为I/O篇&#xff0c;内存篇&#xff0c;算法篇&#xff0c;MMX汇编篇。 二&#xff0e;内存篇 在上一篇中我们讲述了如何优化文件的读写&#xff0c;这一篇则主要讲述对内存操作的优化&#xff0c;主要有数组的寻址&#x…