Implementacja. NET bcrypt

Czy ktoś zna dobrą implementację bcrypt, wiem, że to pytanie było zadawane wcześniej, ale otrzymało bardzo mało odpowiedzi. Jestem trochę niepewny tylko wybierając implementację, która pojawia się w google i myślę, że może lepiej będzie używać sha256 w systemie.Ochrona.Kryptografia przestrzeń nazw, przynajmniej wtedy wiem, że jest obsługiwana! O czym myślisz?

Author: Earlz, 2009-05-16

6 answers

It sounds like you are looking for BCrypt.net :

BCrypt.net jest realizacją Hasło oparte o Blowfish OpenBSD kod haszujący, opisany w "A Przyszłościowy system haseł " by Niels Provos i David Mazières. On bezpośredni port jBCrypt by Damien Miller, a więc jest zwolniony pod ta sama Licencja w stylu BSD. Kod jest w pełni zarządzany i powinien współpracować z każdym little-endian clip - it został przetestowany z Microsoft. NET i Mono.

 58
Author: ine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-16 22:02:12

BCrypt.Net wydaje się być w tej chwili najpopularniejszą biblioteką

Http://bcrypt.codeplex.com/

Oto przykład użycia go do hashowania hasła:

[TestMethod]
    public void BCryptTest()
    {
        const string password = "PASSWORD";
        const int workFactor = 13;

        var start = DateTime.UtcNow;
        var hashed = BCrypt.Net.BCrypt.HashPassword(password, workFactor);
        var end = DateTime.UtcNow;

        Console.WriteLine("hash length is {0} chars", hashed.Length);
        Console.WriteLine("Processing time is {0} with workFactor {1}", end - start, workFactor);
        Console.WriteLine("Hashed password: {0} ", hashed);
        Console.WriteLine("correct password {0}", BCrypt.Net.BCrypt.Verify("PASSWORD", hashed));
        Console.WriteLine("incorrect password {0}", BCrypt.Net.BCrypt.Verify("PASSWORd", hashed));
    }

Przykładowe wyjście:

hash length is 60 chars
Processing time is 00:00:01.0020000 with workFactor 13
Hashed password: $2a$13$iBqdG7ENBABEargiyzGlTexPsmviF/qrFxUZB2zce7HKF6MoBNhEq 
correct password True
incorrect password False
 25
Author: Maksym Kozlenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-19 23:56:26

Zaktualizowaną implementację BCrypt dla. Net znajdziesz tutaj: http://bcrypt.codeplex.com/

 23
Author: Ryan Emerle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-17 15:38:26

Potrzebowałem implementacji BCrypt przy przenoszeniu czegoś z PostgreSQL (który ma pg_crypto) do SQLite (który nie ma), więc napisałem własną. Widząc z tej wiadomości, że nie tylko ja tego potrzebuję, zdecydowałem się na wydanie licencji. Adres URL to:

Http://zer7.com/software.php?page=cryptsharp

Implementacja Blowfish, która za nią stoi, jest portem implementacji C Bruce ' a Schneiera w domenie publicznej i odnosi sukces na wszystkich oficjalnych testach wektory.

Kod BCrypt, który sam napisałem na podstawie specyfikacji. Stworzyłem również skrypt PHP, który generuje losowe hasła o długości od 0 do 100 i zapisuje je do pliku testowego. Kod C# odpowiada w 100% dotychczasowemu czasowi. Zapraszamy do skorzystania ze skryptu i przetestowania go samodzielnie.

Biblioteka zawiera również kod PBKDF2, który działa dla każdego HMAC w przeciwieństwie do implementacji. Net tylko SHA-1 (dodana dzisiaj -- mam zamiar zrobić SCrypt w C# wkrótce i wymaga PBKDF2 z HMAC-SHA256). Jeśli chcesz, możesz też stworzyć plan oparty na tym.

 6
Author: Zer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-22 07:29:44

Zła odpowiedź, zobacz poniżej

Wszystkie algorytmy " CNG " (Cryptography Next Generation) postfixed w.Net Framework używają teraz bcrypt. Np. SHA256Cng .


Właściwie MS BCrypt (BestCrypt) nie odnosi się do tego opartego na Szyfrze Blowfish - dziękuję, RobbyD, za komentarz.
Nie usunie odpowiedzi, tylko na wypadek, gdyby ktoś inny zrobił to samo zamieszanie.

 0
Author: Ioanna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-18 22:29:46

Czy próbowałeś tego ms bcryptcreatehash C++ function Być może?? Wydaje się być obecny z Windows Server 2008 i Windows Vista.

Możesz też prawdopodobnie sprawdzić następujący MS C # BCryptNative.Klasa cs też być może.

 -2
Author: Deb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-26 20:04:03