BCrypt.NET Entschlüsselung

Gast #4024947
Lesenswert?

Guten Tag Zusammen,

ich hab grade ein Problem, zudem ich keine Richtige Lösung finde. Auch 
Google etc. war bis dato erfolglos.

Hier das Problem:
Ich habe eine Datenbank mit einem Joomla CMS. In Joomla werden die 
Benutzer-Passwörter per BCrypt verschlüsselt. Ich möchte nun in einer C# 
Applikation diese Tabelle nutzen um damit ein Login zu errichten. Dazu 
kommt BCrypt.NET zum Einsatz. (https://bcrypt.codeplex.com/)

Hierbei gehe ich nun So vor:
1
//Daten aus Joomla: $2y$10$aBoeOIfm6uHL71GMNhxoget9YlBI8/JMKyt95x/RmsP2FVHMboruG
2
string myPassword = "12345"; //Passwort nicht verschlüsselt
3

4
string mySalt = BCrypt.Net.BCrypt.GenerateSalt();
5
mySalt = "$2y$10$aBoeOIfm6uHL71GMNhxoge"; //Das Salt (29.Erste Zeichen)
6

7
string myHash = BCrypt.Net.BCrypt.HashPassword(myPassword, mySalt);
8

9
bool doesPasswordMatch = BCrypt.Net.BCrypt.Verify(myPassword, myHash);

Wenn ich das ausführe bekomme ich von der BCrypt.NET Lib. eine "Invalid 
salt revision" Exception.

Jetzt ist mir aufgefallen, das Joomla hier den BCrypt Algorithmus mit 
"$2y$" Auswählt. Dies ist laut vielen Aussagen 
(https://pythonhosted.org/passlib/lib/passlib.hash.bcrypt.html) 
äquivalent zu "$2a$" was der momentane Standard ist.
Wenn ich jetzt aber im Code das Salt ändere:
1
mySalt = "$2a$10$aBoeOIfm6uHL71GMNhxoge"; //Das Salt (29.Erste Zeichen)

Gibt mir die BCrypt.Verify(myPassword, myHash); ständig True zurück...

Hat sich jemand schon mal damit auseinander gesetzt und eine Lösung 
gefunden? Bzw. ist mein Gedanke bei der Vorgehensweise falsch?

Mit freundlichen Grüßen
Dominik

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren