{"id":17034355,"url":"https://github.com/viniciuschiele/scrypt","last_synced_at":"2025-04-05T04:14:29.958Z","repository":{"id":23257402,"uuid":"26615606","full_name":"viniciuschiele/Scrypt","owner":"viniciuschiele","description":"A .NET implementation of scrypt password hash algorithm.","archived":false,"fork":false,"pushed_at":"2024-07-16T11:50:46.000Z","size":43,"stargazers_count":97,"open_issues_count":6,"forks_count":22,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-29T03:09:17.508Z","etag":null,"topics":["bcrypt","c-sharp","hash","hashing-algorithm","protect-passwords","scrypt"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viniciuschiele.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-11-14T01:02:40.000Z","updated_at":"2025-03-20T08:54:43.000Z","dependencies_parsed_at":"2024-12-17T21:00:19.091Z","dependency_job_id":null,"html_url":"https://github.com/viniciuschiele/Scrypt","commit_stats":{"total_commits":42,"total_committers":5,"mean_commits":8.4,"dds":0.1428571428571429,"last_synced_commit":"cfa12bacb9604c8773f5c78a986d45f14ca4d23d"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniciuschiele%2FScrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniciuschiele%2FScrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniciuschiele%2FScrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viniciuschiele%2FScrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viniciuschiele","download_url":"https://codeload.github.com/viniciuschiele/Scrypt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284953,"owners_count":20913704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bcrypt","c-sharp","hash","hashing-algorithm","protect-passwords","scrypt"],"created_at":"2024-10-14T08:43:23.592Z","updated_at":"2025-04-05T04:14:29.938Z","avatar_url":"https://github.com/viniciuschiele.png","language":"C#","readme":"# Scrypt.NET\n\n[![Build Status](https://travis-ci.org/viniciuschiele/Scrypt.svg)](https://travis-ci.org/viniciuschiele/Scrypt)\n\nscrypt 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.\n\nThis .NET implementation of scrypt is a port of [original implementation in C](http://www.tarsnap.com/scrypt.html), 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.\n\nIf you would like to know further about hashing algorithms and how to protect passwords I really recommend you to read that article [Password Hashing](https://crackstation.net/hashing-security.htm).\n\n## Requirements\n\n.NET 2.0 or .NET Core\n\n\n## Examples\n\nGenerating a new hash for a password:\n\n```csharp\n\nScryptEncoder encoder = new ScryptEncoder();\n\nstring hashsedPassword = encoder.Encode(\"mypassword\");\n```\n\nComparing a password against a hashed password:\n\n```csharp\nScryptEncoder encoder = new ScryptEncoder();\n\nbool areEquals = encoder.Compare(\"mypassword\", hashedPassword);\n```\n\nThe recommended parameters for interactive logins as of 2009 are iterationCount=16384, blockSize=8, threadCount=1, those are the default values.\nThey should be increased as memory latency and CPU parallelism increases.\n\nIt is compatible with .NET Core and it works perfectly in Linux and OSX using [mono](http://www.mono-project.com) or the .NET Core, I'm not sure about mobile phones but I believe that it should work as well. \n\n## Install\n\nInstall via NuGet: `Install-Package Scrypt.NET`\n\n\n## Feedback\n\nPlease use the [Issues](https://github.com/viniciuschiele/scrypt/issues) for feature requests and troubleshooting usage.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviniciuschiele%2Fscrypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviniciuschiele%2Fscrypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviniciuschiele%2Fscrypt/lists"}