J'ai utilisé JBcrypt en Java (Spring) pour hacher le mot de passe et l'authentifier.
Récupérez le fichier jar depuis MVN REPOSITORY
@PostMapping("/sample")
public String sample(@Validated SampleForm sampleForm,
BindingResult bindingResult, Model model) {
//Convertir le mot de passe de la valeur d'entrée en valeur de hachage
String hashedCode = BCrypt.hashpw(sampleForm.getPassword(), BCrypt.gensalt());
//Traitement pour stocker le mot de passe haché dans la base de données ci-dessous
...
}
Salt est une chaîne qui est attachée avant et après le mot de passe avant qu'il ne soit mis dans la fonction de hachage. [Citation tirée du Glossaire informatique qui vous donne l'impression de comprendre même si vous ne comprenez pas
@Override
public boolean isPasswordCorrect(String inputPassword) {
final String SAMPLE_SQL = "Instruction SQL répertoriée ici"
//Obtenir le mot de passe de la base de données
Map<String, Object> PasswordFromDB = jdbcTemplate.queryForMap(SAMPLE_SQL);
String passwordFromDB = (String)PasswordFromDB.get("password");
//Comparez le mot de passe d'entrée en texte brut qui est la valeur d'entrée avec le mot de passe hachéFromDB dans la base de données
if(BCrypt.checkpw(inputPassword, passwordFromDB)) {
//En traitement
}
}
Facile à hacher!
Lors du hachage
BCrypt.hashpw(Valeur que vous souhaitez hacher, BCrypt.gensalt());
Lors de l'authentification de la valeur hachée
BCrypt.checkpw(Valeur de texte brut que vous souhaitez comparer,Valeur hachée obtenue à partir de DB);
c'est tout. Merci d'avoir lu jusqu'au bout.
Recommended Posts