Tomcat 连接池写在server.xml里的数据用户以及密码都是明文,这样非常不安全的.最近看了网上一些关于TOMCAT 连接池数据库密码加密方法,感觉写的都不是很详细,自己研究了下,有些心得,写出来和大家共享一下.
首先,先去http://commons.apache.org/dbcp/ 下载commons-dbcp源码包,我下载的版本是1.2.2。commons-dbcp源码包要编译的话需要commons-pool,所以也要顺便下载commons-pool源码包,我下载的是1.4版本。我tomcat用的版本是Tomcat5.5.等下需要修改tomcat目录下的common\libnaming-factory-dbcp.jar.
上网搜索一段加解密的程序,将数据库密码的字段进行加密,获得密文.手动配置tomcat的连接池,注意连接池的password配置密文.
找到刚才下载的commons-dbcp源码包解压,找到BasicDataSourceFactory.java,这个类中PROP_PASSWORD会和连接池的password取得联系,所以现在要将他解密处理,修改这个BasicDataSourceFactory.java中的
value = properties.getProperty(PROP_PASSWORD);
if (value != null) {
dataSource.setPassword(value);
}
将PROP_PASSWORD进行解密处理,处理完保存后.然后再doc下ant commons-dbcp的build.xml进行编译.再将编译后的dbcp文件放在tomcat的naming-factory-dbcp.jar里,替换他原来的dbcp文件.
(编译commons-dbcp文件的时候要注意dbcp里的那些java的package和tomcat的naming-factory-dbcp.jar的dbcp路径要相符合,要不启动tomcat他会报找不到BasicDataSourceFactory.class)
启动tomcat,如果没报错的话就说明启动成功
分享到:
相关推荐
### Tomcat连接池数据库密码加密解密方法详解 在企业级应用中,数据库的安全性尤为重要。其中,数据库连接池作为应用程序与数据库之间的桥梁,扮演着关键角色。然而,当数据库的用户名和密码直接硬编码在配置文件...
使用AES256加密技术实现tomcat7对连接池数据库密码加密解密,资源中包含加密小程序,小程序实现加密,tomcat中实现解密,方便客户自己修改数据库密码且是密文!
使用AES256加密技术实现tomcat7对连接池数据库密码加密解密,资源中包含加密小程序,小程序实现加密,tomcat中实现解密,方便客户自己修改数据库密码且是密文!支持多操作系统如:linux mac os 文件太多分成两部分请...
Tomcat连接池DBCP2密码加密
-- 解密密码必须要配置的项 --> ``` 其中,`jdbc.url`, `jdbc.username` 和 `jdbc.password` 是从外部的`jdbc.properties`文件中读取的。 ### 密文密码生成 接下来,我们需要生成加密后的密码。这一步需要...
在Web应用中,JNDI常用来管理和查找资源,如数据库连接池。通过JNDI,我们可以将敏感信息(如数据库密码)从源代码中分离出来,存储在一个安全的地方,比如受保护的服务器环境变量或外部配置文件中。这样可以避免...
其中,数据源(DataSource)是Spring Framework中最重要的组件之一,负责提供数据库连接池,提高应用程序的性能和可扩展性。然而,在配置数据源时,需要对数据库连接信息进行保护,以免泄露敏感信息。因此,本文将...
总的来说,Apache Commons DBCP是一个强大的数据库连接池组件,广泛应用于Java Web开发中,尤其是与Tomcat和其他MVC框架如Struts结合时。了解并熟练使用DBCP可以帮助开发者提升应用的性能,同时降低资源消耗。
Druid能够提供SQL解析、执行计划展示、连接池诊断、性能分析等功能,是Spring Boot项目中常用的数据库连接池选择。 **Swagger** 是一种用于设计、构建、记录和使用RESTful API的工具。它通过使用OpenAPI ...
4. **数据库连接问题**:如果Tomcat应用依赖于数据库,并且存在大量的数据库连接请求,未正确配置的连接池可能导致CPU资源浪费。 5. **循环引用**:对象间的循环引用可能导致内存泄露,进而引起CPU资源的过度使用。...
5. **JNDI(Java Naming and Directory Interface)**:用于查找和绑定服务的接口,如数据库连接池的管理。 6. **JTA(Java Transaction API)**:解释事务管理的重要性,如何使用JTA进行分布式事务处理。 7. **...
类加载器的高级特性(自定义类加器实现加密解密) iBATIS开源主流框架(实现半自动化hibernate) 企业实用技能之详解(眼睛横纹模式验证码防止恶意登陆) 动态页面的静态化处理 图片上传技术 在springMVC中实现原始的Excel...
图片到图片装载器、绘制火焰效果的X坐标,Y坐标、得到X坐标,Y坐标值、绘制火焰效果Image…… Java加密解密工具集 JCT v1.0源码包 5个目标文件 内容索引:JAVA源码,综合应用,JCT,加密解密 WDSsoft的一款免费源代码 JCT ...
这些工具类可以辅助开发者更高效地操作SQL Server数据库,例如处理日期时间格式、加密解密数据、提高查询效率等。具体功能需要查看jar内的源码或官方文档以获取详细信息。 3. **msbase.jar**: 同样,msbase.jar...
- **加密密码**:如何处理加密密码,包括加密方式和解密流程。 - **数据库模式**:有关数据库模式的详细解释和常见问题解答。 #### 六、资源 这部分列出了与 OpenReports 相关的各种资源链接,为用户提供进一步的...
实例196 Tomcat连接池的配置 629 实例197 MySQL数据库的分页形式 633 实例198 连接ODBC数据库的Apple程序 640 第20章 JSP/Servlet技术 644 实例199 JSP与Servlet之间的跳转 644 实例200 简单的JSP多人聊天室 ...
- 性能优化方法论、容量评估、CDN网络、连接池和性能调优。 11. **大数据**: - 流式计算框架如Storm、Flink、Kafka Stream及其应用场景。 - 分布式系统如Hadoop(HDFS、MapReduce、Yarn)和Spark。 12. **安全...
案例5 利用DES加密解密 第七章 Java与数据库 案例1 在Applet中应用JDBC访问数据库 案例2 通过JDBC-ODBC桥连接数据库 案例3 通过tomcat数据源访问数据库 案例4 JDBC连接池的实现 案例5 用...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...