java - 如何避免在代码中硬编码数据库凭据
问题描述
我一直在寻找一种方法来避免将我的数据库凭据硬编码到我的代码库(主要用 Java 编写)中,但我还没有找到很多解决方案。我读了这篇文章,他们说单向哈希可能是答案。是否有另一种安全连接数据库的方法,而不会遇到有人反编译您的代码的风险?
澄清一下,我不是在寻找代码,而是在寻找正确的方向。
解决方案
如果你可以使用 spring boot 应用程序,那么你可以使用 cloud config 方法进行配置。我添加了一些 postgresql 数据库连接详细信息供您进一步参考。请参阅以下链接以获取 Spring Boot Cloud 配置。spring_cloud
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://{{db_url}}:5432/{{db_name}}
spring.datasource.username=postgres
spring.datasource.password=
spring.datasource.maxActive=3
spring.datasource.maxIdle=3
spring.datasource.minIdle=2
spring.datasource.initialSize=2
spring.datasource.removeAbandoned=true
spring.datasource.tomcat.max-wait=10000
spring.datasource.tomcat.max-active=3
spring.datasource.tomcat.test-on-borrow=true
推荐阅读
- typescript - 如何强制 Set 对象包含枚举中的所有值 - TS
- r - 尝试从多个数据集创建单个矩阵时如何修复 mutate 错误
- php - 是否可以在 PHP 中动态创建新的类属性?
- three.js - 使用 THREE.TextureLoader() 加载图像时出现 Three.js CORS 错误
- javascript - 从反应减速器设置状态返回正确的值但不会导致重新渲染
- amazon-web-services - 由于 KMS 权限,SageMaker Studio 域创建失败
- c - 只是想知道用 C 编写的这段代码是如何工作的
- spring - 查询方法公共抽象 org.springframework.data.domain.Page 的验证失败
- tesseract - Tesseract 4.1.1 与 Tika 1.26 的兼容性
- .net - 使用 IdentityServer 在 .NET API 上找不到控制器路由