国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

Oracle數(shù)據(jù)庫替代加密算法

來源:北大青鳥飛迅校區(qū)|發(fā)布時(shí)間:2013-04-30 12:41:41

替代密碼算法的原理是使用替代法進(jìn)行加密,就是將明文中的字符用其它字符替代 后形成密文。例如:明文字母a、b、c、d ,用D、E、F、G做對應(yīng)替換后形成密文。

這里在Oracle的存儲(chǔ)過程,通過替換加密算法來實(shí)現(xiàn)密碼存入數(shù)據(jù)庫時(shí)的加密。

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

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

3.--Oracle數(shù)據(jù)庫加密----替代算法---

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 --密碼,這個(gè)要加密

9.) IS

10.BEGIN

11.

12.--定義變量

13.DECLARE

14. insertSQL nvarchar2(200 ); --一個(gè)待構(gòu)造的sql語句

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

16. totalLetter numeric(2); --字母的總個(gè)數(shù)

17. targetCode nvarchar2(15); --轉(zhuǎn)化后的字符密碼表示

18. lengthUpwd numeric(2); --密碼長度

19. initCodeVal numeric(3); --原始密碼每位上字符對應(yīng)的數(shù)值

20. targetCodeVal numeric(3);

21. BEGIN

22.

23. key := 3; --密鑰賦值

24. totalLetter := 26; --字母總數(shù)

25. targetCode := ‘’; --轉(zhuǎn)化后的字符

26.

27.

28. --獲取初始密鑰的長度

29. lengthUpwd := LENGTH(uPwd);

30.

31. --逐個(gè)對初始密鑰進(jìn)行加密

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. --構(gòu)造一個(gè)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中用PL/SQL產(chǎn)生隨機(jī)數(shù)
下一篇:用Oracle10gDataPump重組表空間

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學(xué)校地址: 長沙市天心區(qū)團(tuán)結(jié)路6號

Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有

湘ICP備14017520號-3

關(guān)注我們
在線咨詢
嘿,我來幫您!