2014-02-19 192 views
0

這將是一個額外的問題,我剛纔的問題:Storing password for an offline app外部存儲文件

如果我存儲在外部存儲上的文件我的密碼,它的加密,該文件是可編輯的?

我只是想例如,我設置了通過"hello"並將其存儲在一個文件中。然後登錄,我將調用該加密的字符串。

如果您打開密碼存儲位置的文件並編輯該加密字符串並保存,然後嘗試在應用中重新登錄,那麼"hello"仍可正常工作?

對不起,我對這件事有點新鮮。

回答

0

是的,該文件是可編輯的。唯一可以使其不可編輯的方式是使用mode_private存儲在內部存儲中。

加密可以防止人們讀取密碼並將其編輯爲只能由應用程序讀取的格式。

+0

如果您的設備已經生根,用戶是否能夠在內部存儲器中查看和編輯這些文件? – Jane07

+0

是的,他們會。但是,您可以對其進行加密並存儲,以防止其被外部來源讀取。無法真正阻止在根源手機中進行編輯。如果你想嘗試 – Orphamiel

+0

,它們存儲在/ system/data/data中,如果他們編輯「hello」的加密字符串,「hello」將不起作用? – Jane07

2

爲什麼不使用SharedPreference進行這種數據保存。如果你的數據不是很大,你可以使用SharedPreference。將數據保存在SharedPreference中,以免顯式編輯。數據只能由您的應用編輯。爲SharedPreferences

的SharedPreferences類文檔提供了一個總體框架,使您可以保存和檢索的原始數據類型的持久鍵 - 值對。您可以使用SharedPreferences來保存任何原始數據:布爾值,浮點數,整數,長整數和字符串。這些數據將在用戶會話中持續存在(即使您的應用程序被終止)。

+0

我在使用SharedPreferences,Internal Storage和SQLite存儲密碼時的擔憂是有人從設置中清除應用程序的數據>管理應用程序 – Jane07

+1

有一種解決方案可以防止清除實際稱爲管理存儲。我會看看我能否在一段時間內與你聯繫。 – Orphamiel

+0

http://stackoverflow.com/questions/6531173/how-to-disable-the-clear-data-button-in-application-info-of-manage-appliaction - 這裏是管理空間的解決方案是一。 – Orphamiel