亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Android應用程序中安全存儲憑據(密碼)?

如何在Android應用程序中安全存儲憑據(密碼)?

喵喔喔 2019-11-29 14:22:24
我想存儲用于在安全場所開發的金融應用程序中簽名的密碼。經過一些網上沖浪后,我發現以下選擇,但每個選擇都有一定的缺點。1)KeyChain。僅在OS版本4中可用。2)共享首選項。即使我加密了數據,它也以純文本形式存儲數據,然后可以通過反編譯應用程序代碼來破壞加密密鑰。3)訪問keystore守護程序并在其中存儲憑據。(http://nelenkov.blogspot.com/2012/05/storing-application-secrets-in-androids.html)需要另一個密碼才能記住。請建議我一種更好的方法來保護IPhone KeyChain等Android應用程序中的憑據信息。
查看完整描述

3 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

目前尚不等同于Android中iPhone的KeyChain。如果要保密,請勿將其存儲在設備上?;蛑辽俨灰獙⒓用艿拿荑€/密碼存儲在設備上。就那么簡單。

另外:

1)即使在ICS上,也不能直接使用KeyChain來存儲應用程序密鑰(請參閱3中的博客文章))

2)這僅是針對植根電話或有人可以物理訪問設備的問題。

3)與記住多個密碼相比,記住一個密碼來保護您的所有憑據要好得多。此外,在ICS上,沒有單獨的密碼,憑據存儲受設備解鎖密碼保護。


查看完整回答
反對 回復 2019-11-29
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

散列是解決方案,不要在共享首選項或任何介質中將憑據存儲為純文本格式。

只需對密碼進行加鹽和哈希處理,然后就可以繼續將其存儲在sharedPreferences或某些嵌入式db中。

下面是它的工作原理:

線上

  1. 成功登錄后,將普通密碼(未加密)發送到服務器進行身份驗證和授權。

  2. 鹽可以生成并從服務器返回到客戶端,也可以在客戶端生成

  3. 然后將其存儲為salt并哈希密碼并存儲。

離線

  1. 我們將使用存儲的鹽對用戶輸入的密碼進行哈希處理

  2. 我們將與成功登錄后存儲的哈希值進行比較

  3. 如果兩者相等,那么我們將允許用戶進入,否則我們將不允許用戶進入。

好處:

  1. 因此,現在您不必擔心版本兼容性。

  2. 即使設備已扎根,也很難蠻力散列。

  3. 即使有人反編譯/破解應用程序,也很難進行反向工程


查看完整回答
反對 回復 2019-11-29
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

我不明白這樣做的好處。如果服務器從期望的密碼(然后哈希)更改為期望的預哈希密碼,則如果散列密碼受到破壞,則黑客可以使用該密碼登錄服務器。他們永遠不必擔心真正的密碼是什么,而他們卻擁有服務器認為“密碼”是什么的信息

查看完整回答
反對 回復 2019-11-29
  • 3 回答
  • 0 關注
  • 1290 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號