熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle數據庫替代加密算法

2013-11-13 16:14:02  來源: Oracle 

  替代密碼算法的原理是使用替代法進行加密就是將明文中的字符用其它字符替代 後形成密文例如明文字母abcd 用DEFG做對應替換後形成密文

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

  

  

  Oracle數據庫加密替代算法

  

  

  CREATE OR REPLACE PROCEDURE pro_insert(

          uName IN scottusersuname%TYPE           用戶名

          uPwd  IN scottusersupwd%TYPE             密碼這個要加密

  ) IS

  BEGIN

  

  定義變量

  DECLARE

     insertSQL   nvarchar( );   一個待構造的sql語句

     key         numeric();        密鑰

     totalLetter numeric();        字母的總個數

     targetCode   nvarchar();     轉化後的字符密碼表示

     lengthUpwd  numeric();        密碼長度

     initCodeVal numeric();        原始密碼每位上字符對應的數值

     targetCodeVal numeric();

     BEGIN

  

        key         := ;             密鑰賦值

        totalLetter := ;            字母總數

        targetCode  := ;            轉化後的字符

  

  

        獲取初始密鑰的長度

        lengthUpwd := LENGTH(uPwd);

  

        逐個對初始密鑰進行加密

        FOR i IN lengthUpwd

          LOOP

  

            initCodeVal   := ASCII(SUBSTR(uPwdi) ) ;

            如果替代後的字母超過了z

            targetCodeVal := MOD((initCodeVal + key) totalLetter );

  

            如果是字母z

            IF targetCodeVal = THEN

              targetCodeVal := ;

            END IF;

  

            targetCodeVal := targetCodeVal + ;

  

            將加密後的字符拼裝

            targetCode    := targetCode || CHR(targetCodeVal);

          END LOOP;

  

          構造一個sql語句

          insertSQL := INSERT INTO users (uName uPwd ) VALUES(

                                           ||uName||||targetCode||);

          EXECUTE IMMEDIATE TO_CHAR(insertSQL);

  

     END;

  END pro_insert;


From:http://tw.wingwit.com/Article/program/Oracle/201311/17996.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.