GitPedia

Scrypt

A .NET implementation of scrypt password hash algorithm.

From viniciuschiele·Updated February 15, 2026·View on GitHub·

scrypt is a password hash algorithm created by [Tarsnap](http://www.tarsnap.com/scrypt.html) in 2012 that allow us to protect passwords stored on databases against brute force attacks. The project is written primarily in C#, distributed under the Apache License 2.0 license, first published in 2014. Key topics include: bcrypt, c-sharp, hash, hashing-algorithm, protect-passwords.

Latest release: 1.3.0Release 1.3.0
February 8, 2017View Changelog →

Scrypt.NET

Build Status

scrypt is a password hash algorithm created by Tarsnap in 2012 that allow us to protect passwords stored on databases against brute force attacks.

This .NET implementation of scrypt is a port of original implementation in C, which generates the same hash as the original implementation does. This implementation is fast but not as fast as original one because the original one is written in C and it uses SIMD instructions.

If you would like to know further about hashing algorithms and how to protect passwords I really recommend you to read that article Password Hashing.

Requirements

.NET 2.0 or .NET Core

Examples

Generating a new hash for a password:

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

Comparing a password against a hashed password:

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

The recommended parameters for interactive logins as of 2009 are iterationCount=16384, blockSize=8, threadCount=1, those are the default values.
They should be increased as memory latency and CPU parallelism increases.

It is compatible with .NET Core and it works perfectly in Linux and OSX using mono or the .NET Core, I'm not sure about mobile phones but I believe that it should work as well.

Install

Install via NuGet: Install-Package Scrypt.NET

Feedback

Please use the Issues for feature requests and troubleshooting usage.

Contributors

Showing top 4 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from viniciuschiele/Scrypt via the GitHub API.Last fetched: 6/18/2026