我是android开发的新手。我正在开发一个调用 Web 服务以进行注册、登录等的应用程序......现在我将 url 和其他常量存储为类中的静态最终对象。这是最好的方法还是我应该使用首选项或 string.xml 来保存在反编译 apk 时确保安全的 url?
问问题
607 次
2 回答
-1
这是最好的方法还是我应该使用首选项或 string.xml 来保存在反编译 apk 时确保安全的 url?
可以修改有根电话以提供对私人偏好等的访问。即使您的代码被混淆并且字符串加密,您的 URL 仍然可以公开。
答案不是对 URL 保密,而是以可靠的方式保护 Web 服务调用。您的帖子没有足够的信息来详细说明最适合您的应用/服务的安全性。看看 OAuth ;亚马逊 AWS 如何保护其 Web 服务调用。这是一个好的开始。
于 2014-03-20T11:45:54.327 回答
-2
您应该使用如下所示的登录凭据首选项,并希望您能从中获得灵感:
SharedPreferences sh_Pref;
Editor toEdit;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.yourlayout);
sh_Pref = getSharedPreferences("Login Credentials", MODE_PRIVATE);
EditText et_username=(EditText) findViewById(R.id.et_username);
EditText et_password=(EditText)this.findViewById(R.id.et_password);
Button btn_login=(Button)this.findViewById(R.id.btn_login);
btn_login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
username = et_username.getText().toString();
password = et_password.getText().toString();
sharedPrefernces();
Toast.makeText(MyPoints.this, "Details are saved", 20).show();
}
});
}
在oncreate之外:
public void sharedPrefernces() {
// sh_Pref = getSharedPreferences("Login Credentials", MODE_PRIVATE);
toEdit = sh_Pref.edit();
toEdit.putString("Username", username);
toEdit.putString("Password", password);
toEdit.putBoolean("isLogedIn", true);
Log.d("TripleVMusic", "username in pref= " + username);
Log.d("TripleVMusic", "password in pref = " + password);
toEdit.commit();
}
于 2014-03-20T11:56:19.593 回答