2014-02-26 134 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