在 java 中解码 md5 密码
decode md5 ecnrytion in java
public static String convertToMD5(String input) throws Exception {
String md5 = null;
if (null == input)
return null;
try {
// Create MessageDigest object for MD5
MessageDigest digest = MessageDigest.getInstance("MD5");
// Update input string in message digest
digest.update(input.getBytes(), 0, input.length());
// Converts message digest value in base 16 (hex)
md5 = new BigInteger(1, digest.digest()).toString(16);
} catch (NoSuchAlgorithmException e) {
throw e;
}
return md5;
}
使用此代码加密字符串
我想将 md5 加密解码为普通字符串?
你能帮忙吗
md5不是加密算法。是一个hash function。散列字符串无法解码。原始字符串是 "destroyed" / 永远散列。
要添加到@dit 的答案中,您只有一个选择;例如,比较 MD5 字符串。 MD5("cat") == MD5("cat")
,无法从 MD5("cat")
导出 "cat"
,因为如前所述,它是一个哈希函数。
您可以使用以下内容进行比较:
public static boolean matching(String orig, String compare){
String md5 = null;
try{
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(compare.getBytes());
byte[] digest = md.digest();
md5 = new BigInteger(1, digest()).toString(16);
return md5.equals(orig);
} catch (NoSuchAlgorithmException e) {
return false;
}
return false;
}
然后你可以调用 matching("d077f244def8a70e5ea758bd8352fcd8", "cat");
它将 return true
,如果 matching(MD5("x"), "y")
它将 return false。
public static String convertToMD5(String input) throws Exception {
String md5 = null;
if (null == input)
return null;
try {
// Create MessageDigest object for MD5
MessageDigest digest = MessageDigest.getInstance("MD5");
// Update input string in message digest
digest.update(input.getBytes(), 0, input.length());
// Converts message digest value in base 16 (hex)
md5 = new BigInteger(1, digest.digest()).toString(16);
} catch (NoSuchAlgorithmException e) {
throw e;
}
return md5;
}
使用此代码加密字符串 我想将 md5 加密解码为普通字符串? 你能帮忙吗
md5不是加密算法。是一个hash function。散列字符串无法解码。原始字符串是 "destroyed" / 永远散列。
要添加到@dit 的答案中,您只有一个选择;例如,比较 MD5 字符串。 MD5("cat") == MD5("cat")
,无法从 MD5("cat")
导出 "cat"
,因为如前所述,它是一个哈希函数。
您可以使用以下内容进行比较:
public static boolean matching(String orig, String compare){
String md5 = null;
try{
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(compare.getBytes());
byte[] digest = md.digest();
md5 = new BigInteger(1, digest()).toString(16);
return md5.equals(orig);
} catch (NoSuchAlgorithmException e) {
return false;
}
return false;
}
然后你可以调用 matching("d077f244def8a70e5ea758bd8352fcd8", "cat");
它将 return true
,如果 matching(MD5("x"), "y")
它将 return false。