2014-02-26 101 views
0

IM我的密碼......加密使用此代碼來加密我的密碼使用MD5

private static final String md5(final String password) { 
    try { 

     MessageDigest digest = java.security.MessageDigest 
       .getInstance("MD5"); 
     digest.update(password.getBytes()); 
     byte messageDigest[] = digest.digest(); 

     StringBuffer hexString = new StringBuffer(); 
     for (int i = 0; i < messageDigest.length; i++) { 
      String h = Integer.toHexString(0xFF & messageDigest[i]); 
      while (h.length() < 2) 
       h = "0" + h; 
      hexString.append(h); 
     } 
     return hexString.toString(); 

    } catch (NoSuchAlgorithmException e) { 
     e.printStackTrace(); 
    } 
    return ""; 
} 

我怎麼可以添加一個(祕密密鑰),所以我可以將值發送到.NET

+2

MD5使用它不是一個加密算法,它是一種散列算法,絕不應該用於散列密碼,因爲它已經不安全。 – Leandros

+0

我不明白你的問題。你將什麼.NET應用程序發送給?它期望什麼格式? –

回答

0

使用AES加密怎麼樣?

你可以找到例子佑在What are best practices for using AES encryption in Android?

+0

即時通訊新的AES ...所以你認爲它的加密比MD5更好...... – user2979811

+1

正如Leandros所說,它比md5更好(因爲有些不同)。有關它是多麼安全的討論(參考http://stackoverflow.com/a/8669577/1956197),但我認爲你應該首先使用AES –

+0

知道:-MD5不是一種加密算法,它是一種哈希算法,您不能從您使用MD5計算出的哈希中重新生成數據,另一方面,加密算法可以對數據進行加密和解密 – r4jiv007