2013-02-13 97 views
-1

我一直在思考如何安全的Android操作系統,當我問自己的問題,Windows和Linux系統在過去已被破解,並嘗試搜索谷歌有關這個問題。遺憾的是,即使花了一半一天上它我不滿意我通過互聯網找到的東西。我想知道android安全和密碼機制是如何工作的。如果有人可以分享任何東西,或直接我鏈接,將是有益的:)Android安全級別和密碼機制

+1

什麼*精確*您認爲「android安全和密碼機制」是? – CommonsWare 2013-02-13 17:12:18

+0

android os正在使用的密碼機制。像在Unix中一樣,密碼使用數據加密標準進行加密。(網絡安全相關的東西) – Alfred 2013-02-13 17:46:48

回答

0

Android的密碼處理是在來源的詳細的LockPatternUtils.java,接近行820:

public byte[] passwordToHash(String password) { 
    if (password == null) { 
     return null; 
    } 
    String algo = null; 
    byte[] hashed = null; 
    try { 
     byte[] saltedPassword = (password + getSalt()).getBytes(); 
     byte[] sha1 = MessageDigest.getInstance(algo = "SHA-1").digest(saltedPassword); 
     byte[] md5 = MessageDigest.getInstance(algo = "MD5").digest(saltedPassword); 
     hashed = (toHex(sha1) + toHex(md5)).getBytes(); 
    } catch (NoSuchAlgorithmException e) { 
     Log.w(TAG, "Failed to encode string because of missing algorithm: " + algo); 
    } 
    return hashed; 
} 

它看起來像一般的想法是強迫你猜測受MD5和SHA1約束的正確密碼。這意味着一個壞人必須得到交叉點(不是聯合)MD5和SHA-1哈希值。

不幸的是,MD5組件允許密碼恢復。也許更好的策略是將MD5摺疊到SHA-1中(以消除對MD5的裸露訪問)。

順便說一下,這個(TM)有一個錯誤報告:Lock Pattern/Password uses MD5 Hash (LockPatternUtils.java)