J'ai deux mots de passe de hachage md5 qui sont identiques et qui devraient retourner vrai en utilisant la méthode MessageDigest.isEqual. Cependant, la comparaison renvoie false.
Lorsque vous utilisez Array.toString pour imprimer les tableaux d'octets, ils sont identiques. Cela ne fonctionne toujours pas, ni pour Arrays.euqals ni pour MessageDigest.isEqual.
public boolean verifyUserCredentials(String username, MessageDigest password) {
ListIterator<User> iterator = userList.listIterator();
while (iterator.hasNext()) {
User user = iterator.next();
byte md1[] = user.getPassword().digest();
byte md2[] = password.digest();
if (user.getUsername() == username && MessageDigest.isEqual(md1, md2)) {
return true;
}
}
return false;
}