开发者

.NET implementation of scrypt

I've read about scrypt and some of its advantages over the bcrypt hashing a开发者_运维问答lgorithm in certain circumstances.

Anyhow, it seems scrypt isn't as widely used yet. Has anyone seen so far a .NET implementation of it (favored in C#)?


Finally I found an implementation of scrypt in C# in the CryptSharp library.
The library is open source and uses the ISC license.

  • CryptSharp

Version History

1.2.0 January 23, 2011:
The SCrypt KDF is now supported as CryptSharp.Utility.SCrypt.
Added djb's Salsa20, required by SCrypt.


In case, like me, you came to this question via a quick google (came up as the top link) you can now download SCrypt as a Nuget package into your project.

PM> Install-Package Scrypt.NET

Use as follows:

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

and comparing

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

Github link here


There's a new implementation of SCrypt for .NET here: https://github.com/replicon/Replicon.Cryptography.SCrypt

Unlike CryptoSharp, which is a great library, this one is implemented as a packaged wrapper around a native library. This allows it to use native-level instructions (like SSE2) to improve the performance of the implementation quite a bit.

The downside is that it has to contain native compiled assemblies, detect the right one to use, unpackage it, and then load it. That means it's not ideal for all environments, but it works great where it works.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜