日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2023/12/4 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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;

總結

以上是生活随笔為你收集整理的oracle中文加密算法,Oracle数据库替代加密算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。