web-dev-qa-db-fra.com

Décoder le mot de passe codé Bcrypt dans la sécurité du printemps pour désactiver le compte utilisateur

Je travaille sur un projet d'application Web dans Spring Hibernate MVC.Je stocke un mot de passe codé dans la base de données en utilisant l'algorithme Bcrypt dans la sécurité Spring. Maintenant, je veux que ce mot de passe encodé soit décodé pour désactiver Utiliser le compte où je donne à l'utilisateur un e-mail et un mot de passe pour vérifier avant que l'utilisateur ne désactive le compte. J'ai un problème pour obtenir le mot de passe décodé. Quelqu'un peut-il m'aider à m'en sortir ou toute autre solution pour mon besoin?

16
arch

Le problème est résolu en utilisant le code ci-dessous:

BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();  
encoder.matches(password, user.getPassword());  

password - à partir du formulaire (JSP)
user.getPassword() - à partir de la base de données

BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
if(email.equalsIgnoreCase(user.getEmail()) && encoder.matches(password, user.getPassword())) {
    userService.deactivateUserByID(user.getId());
    redirectAttributes.addFlashAttribute("successmsg", "Your account has been deactivated successfully.");
    model.setViewName("redirect:/logout");
}else{
    redirectAttributes.addFlashAttribute("errormsg", "Email or Password is incorrect");
    model.setViewName("redirect:/app/profile/deactivate");
}
28
arch