SQL Server資料庫中怎麼加密資料

2022-02-05 03:09:21 字數 1373 閱讀 9823

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

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 支援各種型別的雙向加密和單向雜湊演算法,所以管理員可以挑選最適合應用程式的問題的部分。   

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

你看,就這樣不使用資料夾加密軟體,就可以給sql server資料庫中的檔案加密。

sqlserver怎麼匯出資料庫

材料 工具 sql server 1 開啟sql server,找到需要匯出的資料庫。2 在需要匯出的資料庫上右擊,選擇任務選項中的匯出資料選項。3 sql server匯入和匯出嚮導視窗中,單擊下一步按鈕。4 選擇資料來源對話方塊中,選擇資料來源選項中的microsoft ole db provi...

怎麼安裝SQL Server2000資料庫

下面為介紹怎麼安裝sql server2000資料庫。開啟安裝包,找到autor那乙個檔案點選。在點選安裝sql server2000推薦,在出現的介面中點選 安裝資料庫伺服器 在 sql server2000 介面,歡迎使用sql server2000安裝嚮導視窗中,點選 下一步 在 sql se...

SQL server 資料庫中的資料操作

sql提供了4種基本操作的語句,它們分別是進行資料的增加 查詢 修改和刪除操作。1.新增操作 sql語句中最常用的用於指定向資料表中插入資料的方法是使用insert語句。insert語句的使用很簡單,他的基本語法格式如下 insert into table name column list valu...