Wenn bcryptjs Passwörter hasht und sie mit der compare Methode wieder lesen kann, warum können es Angreifer nicht, in dem sie einfach den Source Code lesen?

2 Antworten

Bcrypt ist ein Verschlüsselungsalgorithmus, der dafür entwickelt wurde, Passwörter sicher zu speichern, indem er sie in verschlüsselter Form (Hash) umwandelt. Dieser Hash wird dann in der Datenbank gespeichert, anstatt das tatsächliche Passwort zu speichern. Wenn ein Nutzer sein Passwort eingibt, wird es erneut gehasht und mit dem gespeicherten Hash verglichen, um sicherzustellen, dass das eingegebene Passwort korrekt ist.

Bcryptjs ist eine JavaScript-Bibliothek, die die Bcrypt-Verschlüsselungsalgorithmus implementiert. Die compare Methode in bcryptjs wird verwendet, um ein eingegebenes Passwort mit dem gespeicherten Hash zu vergleichen, um sicherzustellen, dass das eingegebene Passwort korrekt ist. Auch wenn Angreifer den Source Code von bcryptjs lesen könnten, würde dies ihnen nicht helfen, die tatsächlichen Passwörter zu ermitteln, da der Hash selbst nicht in das ursprüngliche Passwort zurückverwandelt werden kann. Stattdessen müssten Angreifer versuchen, die Passwörter durch Brute-Force-Angriffe oder Wörterbuchangriffe zu erraten, indem sie mögliche Passwortkombinationen ausprobieren

Du ha jst grundlegende nicht verstanden was Hasting ist und wie man damit Passwörter abgleicht.

Ein Hash ist eine Einwegfunktion, d.h. hash(x) = y und man kann von y keine Rückschlüsse über x ziehen.

Wenn du jetzt ein Passwort abgleichst, dann word nicht x (das Password von der Registirierung) genommen, sondern der hash(initialies Passwort) wird abgeglichen mit hash(Benutzereingabe). Wenn diese übereinstimmen, dann wurde das Passwort vom Benutzer richtig eingegeben.


mrlxbw2444 
Beitragsersteller
 01.01.2023, 20:53

Danke.

Doch dann müsste man ja alles Passwörter auf die gleiche Art und Weise hashen, was zu Dupliklaten führen würde?

0
triopasi  01.01.2023, 20:59
@mrlxbw2444

Ja, wenn du zweimal das gleiche Passwort eingibst, dann hast du den selben Hash. Sonst wäre das alles sinnlos.

0