MD5驗籤同一字符串獲得不一樣的MD5簽名值可能問題之一

public static String md555(String plainText) throws UnsupportedEncodingException {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest.getInstance("md5").digest(
plainText.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("沒有md5這個算法!");
}
String md5code = new BigInteger(1, secretBytes).toString(16);// 16進制數字
// 若是生成數字未滿32位,須要前面補0
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
}

這裏會出現的問題是字符串編碼問題,若是不進行編碼的話有可能會產生不同的密文。這裏只須要改爲算法

plainText.getBytes(「utf-8」)就能夠了。
相關文章
相關標籤/搜索