https://github.com/bitbeans/knownpasswords-net
knownpasswords.org C# bindings
https://github.com/bitbeans/knownpasswords-net
Last synced: 11 months ago
JSON representation
knownpasswords.org C# bindings
- Host: GitHub
- URL: https://github.com/bitbeans/knownpasswords-net
- Owner: bitbeans
- License: mit
- Created: 2015-10-12T15:45:45.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-12-31T06:02:54.000Z (about 10 years ago)
- Last Synced: 2025-04-14T08:45:52.672Z (11 months ago)
- Language: C#
- Homepage: https://knownpasswords.org
- Size: 14.6 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# knownpasswords-net [](https://www.nuget.org/packages/knownpasswords-net/) [](https://github.com/bitbeans/knownpasswords-net/blob/master/LICENSE.md)
knownpasswords.org C# bindings
## Requirements
Just a knownpasswords.org API Key: [Get an API key](https://knownpasswords.org/)
## Installation
There is a [NuGet package](https://www.nuget.org/packages/knownpasswords-net/) available.
## Example
```csharp
// check 'monkey' as Blake2b hash
const string blake2b = "931f2b3f873fd41e0481972a7faa4ec65723867197c52d7287cc0eb0cab8c439e4ba27b427ff5dc18ae268e39a8f488a9639714cdc680964d0bd7f0133e0af24";
var knownPasswords = new KnownPasswords("");
var response = knownPasswords.CheckPassword(blake2b, PasswordFormatType.Blake2b);
if (response.FoundPassword)
{
//password is a public known password
//prevent registration or warn the user
}
else
{
//password is not known by API
//use a KDF, encrypt the password and store it
}
```
## Note
knownpasswords.org can validate the following password formats:
- Blake2b (64 byte hash)
- Sha512 (64 byte hash)
- Cleartext password
Never store passwords in these formats, always use a KDF (key derivation function)!
libsodium supports scrypt.
- A response never contains the cleartext password.
- The API is static and will not add requested passwords.
- Requests and responses are always signed and encrypted.
- The API is only reachable over https
## License
[MIT](https://en.wikipedia.org/wiki/MIT_License)