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?
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.
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ą
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
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/
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.
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.
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.
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