开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散
为了安然,连接数据库的设备文件中,如暗码等信息须要采取密文的情势存放。
若何设备数据库暗码加密拜访数据库?
将设备文件用户相干的信息(例如:暗码)进行加密使其以密文情势存在,进行初始化连接池的时刻进行解密操作,达到成功创建连接池的目标。
接下来,我们完成如下几个连接池采取数据库密文存储的实现:DBCP连接池
C3P0连接池
Druid连接池
DBCP连接池
数据库属性文件database.properties
设备数据库属性文件, 设备数据库连接的暗码(jdbc.password)设置为加密后的值,该值可以采取AES、DES、3DES等对称加密方法实现,也可以采取RSA的加密算法存储~# jdbc.driverClassName
jdbc.driverClassName=com.mysql.jdbc.Driver
# DatabaseURL
jdbc.url=jdbc:mysql://127.0.0.1:3306/abc?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
jdbc.username=abc
jdbc.password=YpIADNvyi+/X2O33wS5E9SaEVKZgKuS70X8kgxgioEJ7+7KccS8aVmFIWndJ83NsUebDkb+w94HM3xCyjnjg4Q==
# Timetowaitforanopenconnectionbefore timingout
# (inmilliseconds)
cpool.checkoutTimeout=5000
# Connectionpoolsize
cpool.minPoolSize=10
cpool.maxPoolSize=50
# How long tokeep unused connections around(inseconds)
# Note: MySQL times outidle connectionsafter8 hours(28,800 seconds)
# so ensure this value isbelow MySQL idle timeout
cpool.maxIdleTime=25200
# How long tohangontoexcess unused connectionsaftertraffic spike
# (inseconds)
cpool.maxIdleTimeExcessConnections=1800
# Acquiring new connections isslow, so eagerly retrieve extra connections
# whencurrentpoolsizeisreached
cpool.acquireIncrement=10
如不雅采取DBCP连接池,那么,我们可以采取自定义连接池,持续org.apache.commons.dbcp.BasicDataSource,然后重写setPassword(String password)办法即可~import org.apache.commons.codec.binary.Base64;
/**
* @Type CustomDataSource.java
推荐阅读
开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散
GAFA: What can we learn from their acquisition strategies?我们可以大年夜这些收购中发明更多的规律。显然,苹不雅想要在将来利>>>详细阅读
地址:http://www.17bianji.com/lsqh/39758.html