gpt4 book ai didi

java - 如何对使用该程序的人隐藏 MySQL 数据库的密码

转载 作者:可可西里 更新时间:2023-11-01 07:16:52 25 4
gpt4 key购买 nike

我用 JDBC 创建了一个 java 程序,它成功地连接到我的计算机服务器的 MySQL 数据库,如下所示:

    try
{
// The newInstance() call is a work around for some
// broken Java implementations

Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (Exception ex)
{
// handle the error
}

try
{
conn = DriverManager.getConnection(("jdbc:mysql://191.168.1.15:3306/databasename"), "username", "password");

// Do something with the Connection
}
catch (SQLException ex)
{
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}

但是,如果有人想找出密码,使用任何 java 反编译器都会非常简单。就此而言,我如何才能阻止他们找到密码,甚至是用户名?

最佳答案

当您授予用户直接访问您的数据库的权限时,您必须记住您已授予他们直接访问您的数据库的权限。你无法改变这一点。再多的加密或混淆也无法阻止他们访问您的数据库。

因此您需要考虑,您真的希望他们能够访问您的数据库吗?

  • 如果您确实想要授予数据库访问权限,请确保权限设置正确。例如,如果他们只需要读取权限,请确保您授予他们的用户只有读取权限。

  • 如果您实际上不希望他们直接访问数据库,但希望他们能够访问数据,那么不要将数据库密码放在您的程序中完全。例如,您可能想在数据库前设置一个 Web 服务并让您的用户查询该 Web 服务。 Web 服务会有数据库密码,但您的用户不会。

关于java - 如何对使用该程序的人隐藏 MySQL 数据库的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com