簡體   English   中英

在運行時在Java(android)中存儲敏感數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM