導航:首頁 > 文檔加密 > 加密資料庫使用

加密資料庫使用

發布時間:2023-06-03 13:16:52

A. 如何配置資料庫密碼加密訪問資料庫

問題解決思路:將配置文件用戶相關的信息(例如:密碼)進行加密使其以密文形式存在,進行初始化連接池的時候進行解密操作,達到成功創建連接池的目的。Tomcat默認使用DBCP連接池(基於common-pool的一種連接池實現),可在下載commons-dbcp源碼包commons-dbcp-1.4-src.zip,對org.apache.commons.dbcp.BasicDataSourceFactory類修改,把資料庫密碼欄位(加密後的密文)用解密程序解密,獲得解密後的明文即可。具體實現:1.修改org.apache.commons.dbcp.BasicDataSourceFactory類文件找到數據源密碼設置部分value=properties.getProperty(PROP_PASSWORD);if(value!=null){dataSource.setPassword(value);}修改為:value=properties.getProperty(PROP_PASSWORD);if(value!=null){dataSource.setPassword(Encode.decode(value));}將配置文件中的「密碼」(加密後的結果)取出,調用加解密類中的解密方法Encode.decode(value)進行解密。2.加密類Encode.java,本例中使用加密解密模塊比較簡單只是用來說明問題,密文為明文的十六進制串。publicclassEncode{//編碼-普通字元串轉為十六進制字元串publicstaticStringencode(Stringpassword){Stringresult=「」;byte[]psd=password.getBytes();for(inti=0;ipassword696e65743231urljdbc:oracle:thin:@127.0.0.1:1521:orcldriverClassNameoracle.jdbc.driver.OracleDriverusernamewanfang4.將修改後的BasicDataSourceFactory.java和新添加的Encode.java編譯後的class類文件重新打包進commons-dbcp-1.4.jar,將該包拷貝進tomcat下的common/lib目錄中,重啟tomcat。此時tomcat下部署的應用在連接數據源的時候都可以在不暴露密碼明文的情況下進行連接。轉載,僅供參考。

B. sql資料庫怎麼加密

SQL Server中的加密簡介
在SQL Server2000和以前的版本,是不支持加密的。所有的加密操作都需要在程序中完成。這導致一個問題,資料庫中加密的數據僅僅是對某一特定程序有意義,而另外的程序如果沒有對應的解密演算法,則數據變得毫無意義。

到了SQL Server2005,引入了列級加密。使得加密可以對特定列執行,這個過程涉及4對加密和解密的內置函數

SQL Server 2008時代,則引入的了透明數據加密(TDE),所謂的透明數據加密,就是加密在資料庫中進行,但從程序的角度來看就好像沒有加密一樣,和列級加密不同的是,TDE加密的級別是整個資料庫。使用TDE加密的資料庫文件或備份在另一個沒有證書的實例上是不能附加或恢復的。

C. 如何對資料庫進行加密和解密

資料庫賬號密碼加密詳解及實例
資料庫中經常有對資料庫賬號密碼的加密,但是碰到一個問題,在使用UserService對密碼進行加密的時候,spring security 也是需要進行同步配置的,因為spring security 中驗證的加密方式是單獨配置的。如下:
<authentication-manager>
<authentication-provider user-service-ref="userDetailService">
<password-encoder ref="passwordEncoder" />
</authentication-provider>
</authentication-manager>

<beans:bean class="com.sapphire.security.MyPasswordEncoder" id="passwordEncoder">
<beans:constructor-arg value="md5"></beans:constructor-arg>
</beans:bean>

如上述配置文件所示,passwordEncoder才是在spring security對賬號加密校驗的地方。
spring security在攔截之後,會首先對用戶進行查找,通過自己定義的userDetailService來找到對應的用戶,然後由框架進行密碼的匹配驗證。
從userDetailService得到user以後,就會進入到DaoAuthenticationProvider中,這是框架中定義的 ,然後跳入其中的authenticate方法中。
該方法會進行兩個檢查,分別是
* preAuthenticationChecks : 主要進行的是對用戶是否過期等信息的校驗,調用的方法在userDetail中有定義的。
* : 這個就是用戶名密碼驗證的過程了。
而PasswordEncoder是我們xml中注入的bean,所以了,我們調用的則是我們自己完成的passwordEncoder
public class MyPasswordEncoder extends MessageDigestPasswordEncoder {
public MyPasswordEncoder(String algorithm) {
super(algorithm);
}

@Override
public boolean isPasswordValid(String encPass, String rawPass, Object salt) {
return encPass.equals(DigestUtils.md5DigestAsHex(rawPass.getBytes()));
}
}

這是我對其實現的一個簡單版本,調用的就是spring自帶的加密演算法,很簡單了,當然也可以使用復雜的加密方法,這個就靠自己了
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

D. 資料庫加密的實現技術

對數據進行加密,主要有三種方式:系統中加密、客戶端(DBMS外層)加密、伺服器端(DBMS內核層)加密。客戶端加密的好處是不會加重資料庫伺服器的負載,並且可實現網上的傳輸加密,這種加密方式通常利用資料庫外層工具實現。而伺服器端的加密需要對資料庫管理系統本身進行操作,屬核心層加密,如果沒有資料庫開發商的配合,其實現難度相對較大。此外,對那些希望通過ASP獲得服務的企業來說,只有在客戶端實現加解密,才能保證其數據的安全可靠。
1.常用資料庫加密技術
信息安全主要指三個方面。一是數據安全,二是系統安全,三是電子商務的安全。核心是資料庫的安全,將資料庫的數據加密就抓住了信息安全的核心問題。
對資料庫中數據加密是為增強普通關系資料庫管理系統的安全性,提供一個安全適用的資料庫加密平台,對資料庫存儲的內容實施有效保護。它通過資料庫存儲加密等安全方法實現了資料庫數據存儲保密和完整性要求,使得資料庫以密文方式存儲並在密態方式下工作,確保了數據安全。
1.1資料庫加密技術的功能和特性
經過近幾年的研究,我國資料庫加密技術已經比較成熟。
一般而言,一個行之有效的資料庫加密技術主要有以下6個方面的功能和特性。
(1)身份認證:
用戶除提供用戶名、口令外,還必須按照系統安全要求提供其它相關安全憑證。如使用終端密鑰。
(2) 通信加密與完整性保護:
有關資料庫的訪問在網路傳輸中都被加密,通信一次一密的意義在於防重放、防篡改。
(3) 資料庫數據存儲加密與完整性保護:
資料庫系統採用數據項級存儲加密,即資料庫中不同的記錄、每條記錄的不同欄位都採用不同的密鑰加密,輔以校驗措施來保證資料庫數據存儲的保密性和完整性,防止數據的非授權訪問和修改。
(4)資料庫加密設置:
系統中可以選擇需要加密的資料庫列,以便於用戶選擇那些敏感信息進行加密而不是全部數據都加密。只對用戶的敏感數據加密可以提高資料庫訪問速度。這樣有利於用戶在效率與安全性之間進行自主選擇。
(5)多級密鑰管理模式:
主密鑰和主密鑰變數保存在安全區域,二級密鑰受主密鑰變數加密保護,數據加密的密鑰存儲或傳輸時利用二級密鑰加密保護,使用時受主密鑰保護。
(6) 安全備份:
系統提供資料庫明文備份功能和密鑰備份功能。
1.2對資料庫加密系統基本要求
(1) 欄位加密;
(2) 密鑰動態管理;
(3) 合理處理數據;
(4) 不影響合法用戶的操作;
(5) 防止非法拷貝;
1.3資料庫數據加密的實現
使用資料庫安全保密中間件對資料庫進行加密是最簡便直接的方法。主要是通過系統中加密、DBMS內核層(伺服器端)加密和DBMS外層(客戶端)加密。
在系統中加密,在系統中無法辨認資料庫文件中的數據關系,將數據先在內存中進行加密,然後文件系統把每次加密後的內存數據寫入到資料庫文件中去,讀入時再逆方面進行解密就,這種加密方法相對簡單,只要妥善管理密鑰就可以了。缺點對資料庫的讀寫都比較麻煩,每次都要進行加解密的工作,對程序的編寫和讀寫資料庫的速度都會有影響。
在DBMS內核層實現加密需要對資料庫管理系統本身進行操作。這種加密是指數據在物理存取之前完成加解密工作。這種加密方式的優點是加密功能強,並且加密功能幾乎不會影響DBMS的功能,可以實現加密功能與資料庫管理系統之間的無縫耦合。其缺點是加密運算在伺服器端進行,加重了伺服器的負載,而且DBMS和加密器之間的介面需要DBMS開發商的支持。
在DBMS外層實現加密的好處是不會加重資料庫伺服器的負載,並且可實現網上的傳輸,加密比較實際的做法是將資料庫加密系統做成DBMS的一個外層工具,根據加密要求自動完成對資料庫數據的加解密處理。
採用這種加密方式進行加密,加解密運算可在客戶端進行,它的優點是不會加重資料庫伺服器的負載並且可以實現網上傳輸的加密,缺點是加密功能會受到一些限制,與資料庫管理系統之間的耦合性稍差。
資料庫加密系統分成兩個功能獨立的主要部件:一個是加密字典管理程序,另一個是資料庫加解密引擎。資料庫加密系統將用戶對資料庫信息具體的加密要求以及基礎信息保存在加密字典中,通過調用數據加解密引擎實現對資料庫表的加密、解密及數據轉換等功能。資料庫信息的加解密處理是在後台完成的,對資料庫伺服器是透明的。
按以上方式實現的資料庫加密系統具有很多優點:首先,系統對資料庫的最終用戶是完全透明的,管理員可以根據需要進行明文和密文的轉換工作;其次,加密系統完全獨立於資料庫應用系統,無須改動資料庫應用系統就能實現數據加密功能;第三,加解密處理在客戶端進行,不會影響資料庫伺服器的效率。
資料庫加解密引擎是資料庫加密系統的核心部件,它位於應用程序與資料庫伺服器之間,負責在後台完成資料庫信息的加解密處理,對應用開發人員和操作人員來說是透明的。數據加解密引擎沒有操作界面,在需要時由操作系統自動載入並駐留在內存中,通過內部介面與加密字典管理程序和用戶應用程序通訊。資料庫加解密引擎由三大模塊組成:加解密處理模塊、用戶介面模塊和資料庫介面模塊。

E. 資料庫怎麼加密

資料庫加密作為近年來興起的資料庫安防技術,已經被越來越多的人所重視。這種基於存儲層加密的防護方式,不僅可以有效解決資料庫明文存儲引起的泄密風險,也可以防止來自內部或者外部的入侵及越權訪問行為。從技術手段上來看,現今資料庫加密技術主要有三大類,分別是前置代理及加密網關方式、應用層加密方式以及後置代理方式,其中後置代理技術有有兩種不同的技術路線,分別為:基於視圖和觸發器的後置代理技術和基於TDE技術的加密技術。你與安華金和了解下吧,以前他們還專門有過相關文章介紹。

F. 如何加密後台資料庫的方法

1,登陸網站空間的管理站點,也就是當時購買空間的官方網站。
2,進入用戶中心,找到資料庫管理。進入資料庫管理中心,高級管理,進入高級管理界面,也就是phpmyadmin
3,根據自己網站程序,選擇數據表名稱(主要用來控制網站後台的登陸,一般後綴為admin
userid是網站後台的登陸賬戶名。
4,在pwd處所出現的一長串代碼,就是通過md5加密32位數字串(有的是16位)
5,打開一個提供md5加密解密的網站,隨便輸入幾個數字,比如123456,點擊加密,此時所出現的,就是md5方式加密的字元串,我們對照數據表admin當中,pwd處字元串。看看和那個比較接近(大小寫和數位對比),可以發現是第三。
6復制第三處的字元串,將其粘貼在數據表admin的pwd處,可以看到數據表的修改提示。
7.就可以登陸網站後台地址,賬號就是之前的帳戶名,密碼則是剛剛修改過的123456了。

G. 資料庫怎麼加密

當數據被存儲時候被加密,它們被使用的時候就會自動加密。在其他的情況下,你可以選擇數據是否要被加密。SQL Server資料庫可以加密下列這些組件:密碼存儲過程,視圖,觸發器,用戶自定義函數,默認值,和規則。

在伺服器和用戶之間傳輸的數據密碼加密SQL Server自動將你分配給登陸和應吵豎用角色的密碼加密。盡管當你可以從主資料庫中直接察看系統表格而不需要密碼。你不能給對這種情況作出任何修改,事實上,你根本不能破壞它。

定義加密在有些時候,如果對對象進行加密是防止將一些信息分享給他人。例如,一個存儲進程可能包含所有者的商業信息,但是這個信息不能和讓其他的人看到,即使他們公開的系統表格並可以並遲看到對象的定義。這就是為什麼SQL Server資料庫允許你在創建一個對象的時候進行加密。為了加密一個存儲進程,使用下面形式的CREAT PROCEDURE 語句:

[;number]

[@

[VARYING][=][OUTPUT]]

[,]

[|ENCRYPTION|RECOMPILE,ENCRYPTION]

我們關心的僅僅是可選的WITH參數。你可以詳細說明ARECOMPILE或者ENCRYPTION,或者你可以同時說明它們。ENCRYPTION關鍵字保護SQL Server資料庫它不被公開在進程中。結果,如果ENCRYPTION在激活的時候系統存儲進程sp_helptext就會被忽視,這個存儲進程將被升蔽大存儲在用戶創建進程的文本中。

如果你不想要加密,你可以使用ALTER PROCEDURE,忽略WITH ENCRYPTION子句來重新創建一個進程。

為了能夠使用加密。用戶和伺服器都應該使用TCP/IP 用來連接。運行適當的Network Utility和檢查Force protocol encryption,看下錶,用戶和伺服器之間的連接將不會被加密。

加密也不能完全自由。當連接確定後源碼天空

要繼續其他的構造,並且用戶和伺服器必須運行代碼來解釋加密和解釋的包裹。這里將需要一些開銷並且當在編解碼的時候會使進程慢下來。

是否可以解決您的問題?

H. 資料庫怎麼加密

安華金和資料庫加密的技術方案主要有三種種:包括前置代理、應用加密和後置代理。前置代理的技術思路就是在資料庫之前增加一道安全代理服務,對資料庫訪問的用戶都必須經過該安全代理服務,在此服務中實現如數據加解密、存取控制等安全策略;然後安全代理服務通過資料庫的訪問介面實現數據在O中的最終存儲。

安華金和資料庫加密 應用層加密方案的主要技術原理是:

(1) 應用系統通過加密API(JDBC,ODBC,C API等)對敏感數據進行加密,將加密數據存儲到Oracle資料庫中;

(2)
在進行數據檢索時,將密文數據取回到客戶端,再進行解密;

(3) 應用系統將自行管理密鑰。

後置代理的基本技術路線是使用「視圖」+「觸發器」+「擴展索引」+「外部調用」的方式實現數據加密,同時保證應用完全透明。

該方案的核心思想是充分利用資料庫自身應用定製擴展能力,分別使用其觸發器擴展能力、索引擴展能力、自定義函數擴展能力以及視圖等技術來滿足數據存儲加密,加密後數據檢索,對應用無縫透明等最主要需求。後置代理方案的核心目標包括:A、實現在資料庫中敏感數據的按列加密;B、對應用提供透明的加密數據訪問;C、為加密數據提供高效的索引訪問;D、實現獨立於資料庫的許可權控制;E、調用國產的加密演算法。

目前在國內安華金和的資料庫加密產品是最成熟的,已經廣泛應用於運營商、中央部委等大型系統上。

閱讀全文

與加密資料庫使用相關的資料

熱點內容
雲伺服器宕機概率 瀏覽:227
在線買葯用什麼app知乎 瀏覽:810
ubuntu解壓xz文件 瀏覽:674
宏傑加密時電腦關機 瀏覽:388
自己寫單片機編譯器 瀏覽:598
單片機按鍵閃爍 瀏覽:380
為什麼icloud總是顯連接伺服器失敗 瀏覽:888
如何設置域控伺服器 瀏覽:738
想在上海租房子什麼app好 瀏覽:184
編譯程序各部分是必不可少的嗎 瀏覽:885
編程不超過十行 瀏覽:763
數電編譯器的作用 瀏覽:337
時間演算法與現在有什麼區別 瀏覽:162
7zip解壓後沒文件夾 瀏覽:902
為什麼安卓送玫瑰ios收不到 瀏覽:8
美篇文章加密是什麼意思 瀏覽:82
ilasm編譯dll 瀏覽:39
呼吸燈單片機程序 瀏覽:954
linux域socket 瀏覽:250
qq分身怎麼樣才能加密 瀏覽:457