Question

J'ai lu scrypt et certains de ses avantages sur la bcrypt algorithme de hachage dans certaines circonstances.

Quoi qu'il en soit, il semble scrypt est pas aussi largement utilisé encore. Quelqu'un at-il vu jusqu'à présent une implémentation .NET de celui-ci (favorisée dans C #)?

Était-ce utile?

La solution

Enfin, je trouve une mise en œuvre de scrypt en C # dans la bibliothèque CryptSharp .
La bibliothèque est open source et utilise la licence ISC .

Historique des versions

1.2.0 23 Janvier 2011:
Le Scrypt KDF est désormais pris en charge comme CryptSharp.Utility.SCrypt.
Salsa20 de Ajouté djb, requis par Scrypt.

Autres conseils

Il y a une nouvelle implémentation de Scrypt pour .NET ici: https://github.com/replicon /Replicon.Cryptography.SCrypt

Contrairement CryptoSharp, qui est une grande bibliothèque, celui-ci est mis en œuvre comme un emballage emballé dans une bibliothèque native. Cela permet d'utiliser des instructions au niveau natif (comme SSE2) pour améliorer les performances de la mise en œuvre un peu.

L'inconvénient est qu'il doit contenir des ensembles natifs compilés, détecter la droite à l'utilisation, Déballez, puis le charger. Cela signifie que ce n'est pas idéal pour tous les environnements, mais il fonctionne très bien où cela fonctionne.

Dans le cas où, comme moi, vous êtes venu à cette question par un rapide Google (est ressorti comme le lien en haut), vous pouvez maintenant télécharger Scrypt comme un paquet Nuget dans votre projet.

PM> Install-Package Scrypt.NET

Utilisation suit comme:

ScryptEncoder encoder = new ScryptEncoder();
string hashsedPassword = encoder.Encode("mypassword");

et en comparant

ScryptEncoder encoder = new ScryptEncoder();
bool areEquals = encoder.Compare("mypassword", hashedPassword);

lien Github

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top