亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

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

時(shí)間:2024-08-21 13:07:15 Oracle認(rèn)證 我要投稿
  • 相關(guān)推薦

關(guān)于Oracle數(shù)據(jù)庫(kù)替代加密算法

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

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

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

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

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

  4.--

  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語(yǔ)句

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

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

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

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

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

  20. targetCodeVal numeric(3);

  21. BEGIN

  22.

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

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

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

  26.

  27.

  28. --獲取初始密鑰的長(zhǎng)度

  29. lengthUpwd := LENGTH(uPwd);

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

  32. FOR i IN 1..lengthUpwd

  33. LOOP

  34.

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

  36. --如果替代后的字母超過(guò)了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語(yǔ)句

  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數(shù)據(jù)庫(kù)替代加密算法】相關(guān)文章:

Oracle數(shù)據(jù)庫(kù)語(yǔ)句大全10-08

ORACLE數(shù)據(jù)庫(kù)碎片的整理08-18

oracle數(shù)據(jù)庫(kù)基本語(yǔ)句08-21

Oracle數(shù)據(jù)庫(kù)認(rèn)證層次08-29

Oracle數(shù)據(jù)庫(kù)的基本介紹09-04

Oracle數(shù)據(jù)庫(kù)SQLPLUS介紹10-09

Oracle數(shù)據(jù)庫(kù)SELECT語(yǔ)句10-25

Oracle 數(shù)據(jù)庫(kù)查詢小技巧10-17

oracle數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)07-26

Oracle數(shù)據(jù)庫(kù)基本知識(shí)09-13