如何连接到需要密码的数据库而不公开密码?

我正在创建一个应用程序,需要连接到数据库。数据库需要登录/密码,因此应用程序可以执行选择和插入等操作

在应用程序中,我需要使用登录名和密码连接到数据库,这样应用程序就可以自由地在数据库上执行一些任务我的问题是:如何存储和使用密码连接到数据库而不公开密码?

我不能简单地使用散列或加密来存储密码,因为数据库必须识别密码(我认为大多数或所有数据库必须以明文形式接收密码)

注意:连接由应用程序进行。没有人为输入来进行连接

(编辑)关于应用程序的更多信息:它是一个使用servlet/jsp的web应用程序。数据库位于应用程序的同一服务器上。应用程序的用户是没有完全管理权限的默认用户,但它可以插入/删除行,并执行大多数涉及查询和表中数据修改的操作

通常的方法是将用户名/密码外部化到运行时读取的属性/配置文件中(无论是否使用本机JDBC/JNDI/CDI/J2EE数据源/etc)

系统管理员通过O/S安全性保护该文件

O/S具有比应用程序代码更好的保护工具

发表评论