.NET implementation of scrypt

2019-03-08 00:11发布

I've read about scrypt and some of its advantages over the bcrypt hashing algorithm 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#)?

3条回答
\"骚年 ilove
2楼-- · 2019-03-08 00:39

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.

查看更多
再贱就再见
3楼-- · 2019-03-08 00:51

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

查看更多
一纸荒年 Trace。
4楼-- · 2019-03-08 01:02

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

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.

查看更多
登录 后发表回答