[英]Storing sensitive data in java(android) at runtime
在運行時將敏感數據(密碼等)存儲在常規變量中是否安全?
我的意思是這樣的:
public class MainActivity extends AppCompatActivity {
// ...
String password; // this is my password
// ...
public void click(View v) { // on some button click
password = txtPassword.getText().toString(); // txtPassword is an EditText field
// ...
}
void someMethod() {
Intent intent = new Intent(this, SomeActivity.class);
intent.putExtra(password); // password needs to be passed to other activities
startActivity(intent);
}
// ...
}
該密碼必須存儲,直到用戶退出應用程序為止。 幾乎每個活動都需要它,因此在調用新的活動時,我必須從MainActivity傳遞它。
是否可以像上面的示例一樣安全地存儲password
? 如果沒有,我該怎么辦?
問題不在於您如何在代碼內使用密碼,而是如何獲取密碼。 例如,如果您不經過任何加密就從api檢索數據,則有人可以竊取網絡中的程序包並獲取密碼。 另一件事是,如果您將paswoord保存在共享的首選項中,並且可以訪問手機和遠程終端,則很容易使它變硬。 因此,如果要保存密碼,請從安全的api檢索密碼,並在整個過程中使用加密以避免任何形式的攻擊。 之后,您可以根據需要在應用程序邏輯中使用它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.