• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. Oracle數據庫替代加密算法

        時間:2024-08-21 13:07:15 Oracle認證 我要投稿
        • 相關推薦

        關于Oracle數據庫替代加密算法

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

          這里在Oracle的存儲過程,通過替換加密算法來實現密碼存入數據庫時的加密。

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

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

          3.--Oracle數據庫加密----替代算法---

          4.--

          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;

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【Oracle數據庫替代加密算法】相關文章:

        Oracle數據庫語句大全10-08

        ORACLE數據庫碎片的整理08-18

        oracle數據庫基本語句08-21

        Oracle數據庫認證層次08-29

        Oracle數據庫的基本介紹09-04

        Oracle數據庫SQLPLUS介紹10-09

        Oracle數據庫SELECT語句10-25

        Oracle 數據庫查詢小技巧10-17

        oracle數據庫基礎知識07-26

        Oracle數據庫基本知識09-13

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲无线乱码字幕观看 | 午夜电影网中文字幕在线播放 | 亚洲码一区二区三区在线看 | 亚洲国产精品久久精品怡红院 | 亚洲国产AⅤ精品一区二区久久 | 女同女同精品一区二区 |

            關于Oracle數據庫替代加密算法

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

              這里在Oracle的存儲過程,通過替換加密算法來實現密碼存入數據庫時的加密。

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

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

              3.--Oracle數據庫加密----替代算法---

              4.--

              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;