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

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      在线欧美中文亚洲精品 | 亚洲熟女精品一区二区 | 亚洲欧美国产日韩精品 | 亚洲码一区二区在线 | 中文字幕亚洲男人的天堂网络 | 自拍偷亚洲产在线观看 |