问题描述
我正在开发一个Android应用程序,该应用程序通过使用java和android studio使用jtds驱动程序通过Internet连接到sql Server。 在我的应用程序的源代码中,我应该对sql Server的用户名和密码以及名称和IP进行硬编码。 现在我有两个关于我的应用程序安全性的问题:
- 黑客可以反编译我的应用程序并访问sql Server的用户名和密码吗?如果是的话,我应该怎么做才能解决这个问题?
- 黑客中间人可以解密我的应用程序的互联网流量并访问sql Server的用户名和密码吗?如果是的话,我应该怎么做才能解决这个问题?
在我的两个问题中,我都关注普通的标准安全性,而不是关注非常高的安全性(例如NSA安全性)。
这是我的应用程序源代码的一部分,该应用程序负责连接到sql Server。在使用之前,我应该将jtds库添加到android studio。谢谢
package com.mysite.myappname;
import android.annotation.SuppressLint;
import android.os.StrictMode;
import android.util.Log;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.sqlException;
public class ConnectionClass {
String ip = "IP ADDRESS OF sql SERVER";
String classs = "net.sourceforge.jtds.jdbc.Driver";
String db = "DATABASE NAME";
String un = "USERNAME";
String password = "PASSWORD";
@SuppressLint("NewApi")
public Connection getConnection() {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
Connection conn = null;
String ConnURL = null;
try {
Class.forName(classs);
ConnURL = "jdbc:jtds:sqlserver://" + ip + ";"
+ "databaseName=" + db + ";user=" + un + ";password="
+ password + ";";
conn = DriverManager.getConnection(ConnURL);
} catch (sqlException se) {
Log.e("ERRO",se.getMessage());
} catch (ClassNotFoundException e) {
Log.e("ERRO",e.getMessage());
} catch (Exception e) {
Log.e("ERRO",e.getMessage());
}
return conn;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)