• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    教你如何在SQL Server數據庫中加密數據

    發布: 2009-10-23 09:43 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 22次 | 進入軟件測試論壇討論

    領測軟件測試網

    教你如何在SQL Server數據庫中加密數據 SQL Server數據庫

    關鍵字:SQL Server數據庫中 加密

      為了防止某些別有用心的人從外部訪問數據庫,盜取數據庫中的用戶姓名、密碼、信用卡號等其他重要信息,在我們創建數據庫驅動的解決方案時,我們首先需要考慮的的第一條設計決策就是如何加密存儲數據,以此來保證它的安全,免受被他人窺測。

      SQL Server中有哪一種支持可以用于加密對象和數據?從一開始就討論一下SQL Server欠缺什么是明智的,或者是對于SQL Server中的加密部分你不應該做什么。

      首先,SQL Server有兩個內置的密碼函數——即,pwdencrypt() 和 pwdcompare()。同時,還有兩個SQL Server用來管理密碼哈希的沒有正式記錄的函數:pwdencrypt() 將密碼哈希過后進行存儲; pwdcompare()將提供的字符串與哈希后的字符串進行比較。不幸的是,這個哈希函數不是非常安全,它可以通過字典攻擊算法被破解(類似命令行應用程序!)。

      這些函數隨著SQL Server的版本發展而不斷進行修改,這也是另一個沒有使用它們的原因。早期版本的SQL Server對密碼進行的哈希,在后來的版本中無法解密,所以如果你依賴一個版本中的函數,那么當升級的時候,所有你的加密數據就都沒有用了,除非你可以首先對其解密——這也就違背了加密的最初的目的。

      第二,你可能會嘗試去創建一個針對你的數據庫的自制的加密解決方案,但是有以下三個理由說明你不要這樣做:

      除非你是加密專家,否則胡亂編寫的加密系統只會提供非常低級的價值不高的保護。新鮮的是,單向密碼哈;蛘 "ROTx "形式的加密幾乎不需要費事就可以被輕松打敗。

      如果由于你自己的能力的缺乏而導致加密被破解,那么你的數據就完蛋了。你需要將所有的東西進行沒有加密的備份,是嗎?(即使你加密了,那里有沒有安全漏洞?)

      當市面上提供有專業級別的,具有工業強度的加密解決方案的時候,你就不值得花費時間去自己做。把你的時間用于構建一個好的,堅固的數據庫,而不是再重新發明一次車輪。

      那么,什么才是好的加密數據的方式呢?

      對于新手,微軟提供了一個自己生成的加密解決方案,CryptoAPI 。對于輕量級的加密,軍用級別的安全就不在考慮范圍之內,它具有相對容易實現的優勢:管理員可以安裝一個名為CAPICOM 的ActiveX 控制,它可以在T-SQL存儲過程中提供CryptoAPI 功能。CAPICOM 支持各種類型的雙向加密和單向哈希算法,所以管理員可以挑選最適合應用程序的問題的部分。

      如果你對使用微軟的解決方案不感興趣,還有一些很好的第三方的方案可以使用。一家名為ActiveCrypt 的軟件有限責任公司制造了XP_CRYPT ,它是SQL Server的插件,可以在視圖、程序和觸發器中通過擴展存儲過程和用戶自定義函數(在SQL Server 2000中)來完成加密。你可以下載一個支持無線的MD5,DES ,以及SHA1哈希的免費版本的應用程序; 其他的加密模型就是在比特深度上進行的。(完全版本是無限的。)在你自己的代碼中,你可以使用XP_CRYPT,與ActiveX 控制一樣(在受限的免費版本中)。對于ASP程序員來說,一個名為AspEncrypt 的組件提供了一種將高級加密整合到你的代碼中的簡單方式。

      對數據庫文件自身進行加密或者提供傳輸層上的安全保護怎么樣?對于前者,大家可以在Windows系統中持續使用加密文件系統。然而,你必須保存加密密鑰的備份,在出現問題的時候,這個數據有可能會丟失。對于后者,有IPSec和SQL Server自己的SSL加密,都是SQL Server和Windows自帶的大家的主要精力應該放在避免以明文存儲敏感數據,因為從數據庫中抽取沒有加密的數據同樣是最容易受到攻擊的薄弱環節。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: server Server SERVER sql SQL Sql 數據庫


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>