jdbc加密
『壹』 javajdbc連接mysql資料庫如何實現用戶名密碼以及傳輸數據的加密
如果jdbc和mysql都支持 SSL那通過配置就可以了
如果不支持,那也可以自己來實現。
實現思路:
1、在資料庫的主機上運行一個java服務,用來轉發數據這個服務我們成為A服務
2、客戶端並不直接訪問資料庫,而訪問A服務,客戶端和A服務之間的傳輸代碼由用戶自己完成,當然可以加密。走套接字,走http,或者其他什麼都是可以的。
『貳』 spring配置文件中的資料庫用戶名和密碼怎麼加密
一般spring容器啟動時,通過PropertyPlaceholderConfigurer類讀取jdbc.properties文件里的資料庫配置信息。
通過這個原理,我們把加密後的資料庫配置信息放到jdbc.properties文件里,然後自定義一個繼承PropertyPlaceholderConfigurer的類重寫processProperties方法,實現解密,把解密後的信息又放回去。
『叄』 jdbc中對資料庫用戶密碼加密
1.如果你不想讓別人知道你連接資料庫的用戶我與密碼,
比如
jdbc:mysql://localhost/myDB?user=soft&password=soft1234
如果這樣的串,那麼建議你整個字元串進行加密解密。
如果是分開的,即
jdbc:mysql://localhost/myDB
user=soft
password=soft1234
三個參數進行連接,那麼你就只對密碼進行加密解密。
你這個是要給別人用的,那就將這些內容寫到一個配置文件里,密碼給出的是加密後的,
你讀到程序里再解密進行連接。
如何進行解密,
這個真不知道怎麼說,在你需的時候,拿到了加密的串,調用解密的方法,就可以得到還原的串,然後進行你要進行操作就可以了。
應該是 取Connection前進行。
我對你的傳輸進行加密不是很理解。
你這個是WEB程序,還是應用程序?
『肆』 spring怎麼給jdbc鏈接資料庫加密
jdbc和連接池對於你這個場景來說,都足夠,既然用spring管理了,建議還是使用連接池,另外,spring自身沒有實現連接池,一般都是對第三方連接池的包裝,常見的有C3P0,dbcp以及最近比較流行的boneCP等,這幾個配置都差不多太多,以boneCP為例:
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<property name="idleConnectionTestPeriod" value="60" />
<property name="idleMaxAge" value="240" />
<property name="maxConnectionsPerPartition" value="30" />
<property name="minConnectionsPerPartition" value="10" />
<property name="partitionCount" value="2" />
<property name="acquireIncrement" value="5" />
<property name="statementsCacheSize" value="100" />
<property name="releaseHelperThreads" value="3" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
『伍』 jdbc連接sqlserver2008時報錯 "驅動程序無法通過使用安全套接字層(SSL)加密與 SQL Server 建立安全連接"
第一步:找到微軟的jdbc高版本的驅動
第二步:就是把sunjce_provider.jar放到JAVA_HOME 的\jre\lib\ext下就可以解決了。主要是sunjce_provider.jar的路徑問題.默認在jre6\lib\ext下。
『陸』 oracle資料庫,使用pl/sql developer和JDBC連接,用戶名和密碼、sql語句等數據在網路中傳輸是加密的嗎
myDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.23)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testdb)))註:myDB為連接資料庫別名HOST = 192.168.7.23為你連接的資料庫ipPORT = 1521 為你數據的埠SERVICE_NAME = testdb 為你資料庫實例名
『柒』 com.microsoft.sqlserver.jdbc.SQLServerException: 驅動程序無法使用安全套接字層(SSL)加密與 SQL Server
埠:636
服務:LDAP
說明:SSL(Secure Sockets layer)
檢查一下你相應的服務是否開啟,埠是否在偵聽狀態
『捌』 jdbc資料庫加密將明文變成*
svg.selectAll(".place-label")
.data(topojson.feature(uk, uk.objects.places).features)
.enter().append("text")
.attr("class", "place-label")
.attr("transform", function(d) { return "translate(" + projection(d.geometry.coordinates) + ")"; })
.attr("dy", ".35em")
.text(function(d) { return d.properties.name; })
『玖』 KETTLE採用JNDI方式連接資料庫時,jdbc.properties怎麼加密
在你的程序目錄中放一個.properties文件寫入IP,賬號密碼什麼的,有固定格式的,一定要和程序在同一個文件夾下,
然後在JOB START後加一個組件 SET variable,調用這個文件就可以了,加密的話,可以新建一個DB連接
保存之後用UE打開,生成加密串,放入文件中就可以了。
『拾』 java jdbc連接mysql資料庫 如何實現用戶名密碼以及傳輸數據的加密
你的問題很不清晰。
java jdbc連接mysql資料庫
如何實現用戶名密碼以及傳輸數據的加密
你是要加密保存的數據,還是加密連接信息?
如果是連接串中的用戶名與密碼進行加密。恐怕用起來很不方便。
我就當你是要把入庫的信息加密。
下邊是DES加密的方法。將數據進行DES加密,將加密內容轉為16進制內容表示。
--------------------------------------------------------------------------------------------
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
public class DesTest {
public static void main(String[] args) throws Exception {
// 要加密的數據
String str = "123456";
// 密鑰
String strKey = "86337898";
SecretKeySpec key = new SecretKeySpec(strKey.getBytes(), "DES");
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] byteFina = cipher.doFinal(str.getBytes());
String strFinal = byte2Hex(byteFina);
System.out.println(strFinal);
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] decByte = hex2Byte(strFinal);
byte[] result = cipher.doFinal(decByte);
System.out.println(new String(result));
}
public static String byte2Hex(byte[] buff) {
String hs = "";
for (int i = 0; i < buff.length; i++) {
String stmp = (Integer.toHexString(buff[i] & 0XFF));
if (stmp.length() == 1)
hs = hs + "0" + stmp;
else
hs = hs + stmp;
}
return hs;
}
public static byte[] hex2Byte(String str) {
int len = str.length() / 2;
byte[] buff = new byte[len];
int index = 0;
for (int i = 0; i < str.length(); i += 2) {
buff[index++] = (byte) Integer
.parseInt(str.substring(i, i + 2), 16);
}
return buff;
}
}