Kennt jemand eine gute Implementierung von bcrypt, ich weiß, dass diese Frage schon einmal gestellt wurde, aber nur sehr wenig beantwortet wurde. Ich bin mir nicht sicher, ob ich nur eine Implementierung auswählen soll, die in Google auftaucht, und denke, dass ich sha256 möglicherweise besser im System.Security.Cryptography-Namespace verwenden kann, zumindest dann weiß ich, dass sie unterstützt wird! Was denkst du?
quelle
BCrypt.Net scheint derzeit die beliebteste Bibliothek zu sein
http://bcrypt.codeplex.com/
Hier ist ein Beispiel für die Verwendung zum Hashing von Passwörtern:
Beispielausgabe:
quelle
Eine aktualisierte Implementierung von BCrypt für .Net finden Sie hier: http://bcrypt.codeplex.com/
quelle
Ich brauchte eine BCrypt-Implementierung, um etwas von PostgreSQL (mit pg_crypto) nach SQLite (was nicht der Fall ist) zu verschieben, also schrieb ich meine eigene. Aus dieser Nachricht geht hervor, dass ich nicht der einzige bin, der dies benötigt. Ich habe beschlossen, eine Lizenz darauf zu legen und sie freizugeben. Die URL lautet:
http://zer7.com/software.php?page=cryptsharp
Die dahinter stehende Blowfish-Implementierung ist ein Port der gemeinfreien C-Implementierung von Bruce Schneier und auf allen offiziellen Testvektoren erfolgreich.
Der BCrypt-Code, den ich selbst geschrieben habe, basiert auf der Spezifikation. Ich habe auch ein PHP-Skript erstellt, das zufällige Passwörter der Länge 0 bis 100 generiert und salzt, krypt und in eine Testdatei ausgibt. Der C # -Code stimmt bisher zu 100% mit diesen überein. Sie können das Skript gerne verwenden und selbst testen.
Die Bibliothek enthält auch PBKDF2-Code, der für jeden HMAC im Gegensatz zur .Shet-Implementierung nur für SHA-1 funktioniert (heute hinzugefügt - ich beabsichtige, SCrypt bald in C # durchzuführen, und dies erfordert PBKDF2 mit HMAC-SHA256). Wenn Sie möchten, können Sie sich auch ein darauf basierendes Schema erstellen.
quelle
Falsche Antwort, siehe unten
Alle postfixierten "Cng" -Algorithmen (Cryptography Next Generation) im .Net Framework verwenden jetzt bcrypt. ZB SHA256Cng .
Tatsächlich bezieht sich die MS BCrypt (BestCrypt) nicht auf die auf der Blowfish-Chiffre basierende - danke, RobbyD, für den Kommentar.
Löscht die Antwort nicht, nur für den Fall, dass jemand anderes die gleiche Verwirrung stiftet.
quelle
Haben Sie diese MS BCryptCreateHash C ++ - Funktion vielleicht ausprobiert ? Scheint unter Windows Server 2008 und Windows Vista vorhanden zu sein.
Möglicherweise können Sie auch die folgende MS C # BCryptNative.cs- Klasse überprüfen .
quelle