2016-03-18 15 views
-3

我正在使用此代碼對MD5進行編碼。請告訴我如何解碼這個。如何在Android中解碼MD5字符串?

public static final String md5(final String toEncrypt) { 
    try { 
     final MessageDigest digest = MessageDigest.getInstance("md5"); 
     digest.update(toEncrypt.getBytes()); 
     final byte[] bytes = digest.digest(); 
     final StringBuilder sb = new StringBuilder(); 
     for (int i = 0; i < bytes.length; i++) { 
      sb.append(String.format("%02X", bytes[i])); 
     } 
     return sb.toString().toLowerCase(); 
    } catch (Exception exc) { 
     return ""; // Impossibru! 
    } 
} 
+4

MD5不是一個「編碼」,你不能「解碼」它。瞭解**單向**哈希。 – chrylis

+0

MD5是我們無法解密的單一入口點。 –

+0

更新了維基百科頁面以反映MD5是單向函數,它既不是加密編碼,也不是編碼。除了暴力攻擊之外,它無法逆轉。 – zaph

回答

1

你不能。 MD5不是加密算法,它是一種哈希算法,意味着您可以將其恢復爲原始字符串。實際上,由於碰撞風險並不低,甚至有多個源字符串會對應相同的MD5散列。

+0

任何其他解決方案的字符串加密和解密? –

+2

很多。只是谷歌它... –