|
<script></script>
看到一些朋友需要對(duì)tomcat連接池進(jìn)行加密http://topic.csdn.net/u/20071023/15/3b85f3bf-73fa-4f06-8c94-a76431afd5d3.html,偶有感觸,在
艷照門事件的影響下,大家都對(duì)公司核心數(shù)據(jù)的加密非常關(guān)注,即使是服務(wù)器連接池,也必須防止硬件工程師在無(wú)意或有意把數(shù)據(jù)拿走后保證數(shù)據(jù)的安全性,面對(duì)這
樣的問題,Sybase
ASA已經(jīng)提供了數(shù)據(jù)庫(kù)的加密,只要沒有密鑰的情況下,即使拿到數(shù)據(jù)庫(kù)也會(huì)無(wú)法查看其中的數(shù)據(jù),這對(duì)需要數(shù)據(jù)庫(kù)級(jí)加密的需求來(lái)說(shuō)是非常棒的,但在可以找到
的TOMCAT連接池配置中卻只能用明碼保存連接配置,管理員或硬件維護(hù)員可以很容易的獲得密鑰,這樣就使數(shù)據(jù)庫(kù)的加密變得毫無(wú)意義,這時(shí)怎么辦呢?下面
將一步一步教大家解決的方法: package mydatabase;![]() import com.mchange.v2.c3p0.ComboPooledDataSource;![]() public class database_connection {![]() private static ComboPooledDataSource pool = null; public static Connection get_connection() throws Error { try { if (pool == null) { pool = new ComboPooledDataSource(); pool.setDriverClass( "ianywhere.ml.jdbcodbc.IDriver" ); pool.setJdbcUrl( "jdbc:odbc:dsn=FunctionFace;uid=aaa;pwd=bbb;dbkey=數(shù)據(jù)庫(kù)是加密的哦;dbf=D:/WorkPlace/WorkLine/FirstTmp/Database/FunctionFace.db" ); pool.setUser("dba"); pool.setPassword("sql"); pool.setAcquireIncrement(3); pool.setMaxPoolSize(30); } return pool.getConnection(); } catch (Exception e) { e.printStackTrace(); } throw new Error("沒有找到數(shù)據(jù)庫(kù)連接配置!!"); }![]() }![]() 4.在JSP界面中調(diào)用 <%@ page language="java" pageEncoding="utf-8"%> <%@ page import="java.sql.*"%> <%@ page import="mydatabase.database_connection"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>使用動(dòng)態(tài)連接池的實(shí)驗(yàn)</title> </head> <body> 我們偉大的CSDN的同志是不用JSP來(lái)開發(fā)的,居然不能導(dǎo)入JSP程序,真暈,不知道是否大家是否看得清楚下面這段代碼 <% out.println("開始連接數(shù)據(jù)庫(kù)??!"); //out.println(System.getProperty("java.library.path")); try{ //database_base dba = new database_base(); Connection conn = database_connection.get_connection(); out.println("獲取連接池成功!!<br>");![]() out.println("<br>"); out.println("下面根據(jù)JDBC元數(shù)據(jù)提取 實(shí)驗(yàn)表A 的主鍵字段信息:<br>"); DatabaseMetaData b = conn.getMetaData(); ResultSet pkRSet = b.getPrimaryKeys(null, null, "實(shí)驗(yàn)表A"); while (pkRSet.next()) { out.println("****** Comment ******<br>"); out.println("TABLE_CAT : "+pkRSet.getObject(1)+"<br>"); out.println("TABLE_SCHEM: "+pkRSet.getObject(2)+"<br>"); out.println("TABLE_NAME : "+pkRSet.getObject(3)+"<br>"); out.println("COLUMN_NAME: "+pkRSet.getObject(4)+"<br>"); out.println("KEY_SEQ : "+pkRSet.getObject(5)+"<br>"); out.println("PK_NAME : "+pkRSet.getObject(6)+"<br>"); out.println("****** ******* ******<br>"); } //conn.close(); 這里不要關(guān)掉哦,讓系統(tǒng)自己管理連接好了 //out.println("關(guān)閉連接<br>"); } catch (Exception ex) { out.print(ex.getMessage()); ex.printStackTrace(); } %> </body> </html> |
|
|
來(lái)自: ShangShujie > 《資料》