Ich habe JBcrypt in Java (Spring) verwendet, um das Passwort zu hashen und zu authentifizieren.
Rufen Sie die JAR-Datei von [MVN REPOSITORY] ab (https://mvnrepository.com/artifact/de.svenkubiak/jBCrypt/0.4).
@PostMapping("/sample")
public String sample(@Validated SampleForm sampleForm,
BindingResult bindingResult, Model model) {
//Konvertieren Sie das Passwort für den Eingabewert in den Hashwert
String hashedCode = BCrypt.hashpw(sampleForm.getPassword(), BCrypt.gensalt());
//Verarbeitung zum Speichern des Hash-Passworts in der DB unten
...
}
Salt ist eine Zeichenfolge, die vor und nach dem Kennwort angehängt wird, bevor es in die Hash-Funktion eingefügt wird. [Zitat aus IT-Glossar, mit dem Sie das Gefühl haben, zu verstehen, auch wenn Sie es nicht verstehen
@Override
public boolean isPasswordCorrect(String inputPassword) {
final String SAMPLE_SQL = "Hier aufgeführte SQL-Anweisung"
//Passwort von DB abrufen
Map<String, Object> PasswordFromDB = jdbcTemplate.queryForMap(SAMPLE_SQL);
String passwordFromDB = (String)PasswordFromDB.get("password");
//Vergleichen Sie das Klartext-Eingabe-Kennwort, das der Eingabewert ist, mit dem Hash-KennwortFromDB in der Datenbank
if(BCrypt.checkpw(inputPassword, passwordFromDB)) {
//wird bearbeitet
}
}
Einfach zu hashen!
Beim Hashing
BCrypt.hashpw(Wert, den Sie hashen möchten, BCrypt.gensalt());
Bei der Authentifizierung des Hash-Werts
BCrypt.checkpw(Nur-Text-Wert, den Sie vergleichen möchten,Hashed-Wert von DB erhalten);
das ist alles. Vielen Dank für das Lesen bis zum Ende.
Recommended Posts