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;
}
}