Jak ukryć hasło do bazy danych MySQL od osób korzystających z programu
Stworzyłem program Java z JDBC, który z powodzeniem łączy się z bazą danych MySQL na moim serwerze w następujący sposób:
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());
}
Jednak jeśli ktoś chciałby dowiedzieć się hasła, byłoby to bardzo proste z każdym dekompilatorem Java. W jaki sposób mógłbym uniemożliwić im znalezienie hasła, a nawet nazwy użytkownika?