В отличие от PHP, где вы можете хэшировать ваш MD5-текст, просто вызывая функцию md5, т.е. md5($text)
, в Java это немного усложнили. Я обычно реализовывал это, вызывая функцию, которая возвращает текст хеша md5.
Вот как я это реализовал. Сначала создайте функцию с именем md5hashing
внутри вашего основного класса, как показано ниже.
public static String md5hashing(String text)
{ String hashtext = null;
try
{
String plaintext = text;
MessageDigest m = MessageDigest.getInstance("MD5");
m.reset();
m.update(plaintext.getBytes());
byte[] digest = m.digest();
BigInteger bigInt = new BigInteger(1,digest);
hashtext = bigInt.toString(16);
// Now we need to zero pad it if you actually want the full 32 chars.
while(hashtext.length() < 32 ){
hashtext = "0"+hashtext;
}
} catch (Exception e1)
{
// TODO: handle exception
JOptionPane.showMessageDialog(null,e1.getClass().getName() + ": " + e1.getMessage());
}
return hashtext;
}
Теперь вызывайте функцию всякий раз, когда вам нужно, как указано ниже.
String text = textFieldName.getText();
String pass = md5hashing(text);
Здесь вы можете видеть, что к хеш-тексту добавляется ноль, чтобы он соответствовал хешированию md5 в PHP.