ByteDev.Crypto
1.2.0
See the version list below for details.
dotnet add package ByteDev.Crypto --version 1.2.0
NuGet\Install-Package ByteDev.Crypto -Version 1.2.0
<PackageReference Include="ByteDev.Crypto" Version="1.2.0" />
paket add ByteDev.Crypto --version 1.2.0
#r "nuget: ByteDev.Crypto, 1.2.0"
// Install ByteDev.Crypto as a Cake Addin
#addin nuget:?package=ByteDev.Crypto&version=1.2.0
// Install ByteDev.Crypto as a Cake Tool
#tool nuget:?package=ByteDev.Crypto&version=1.2.0
ByteDev.Crypto
Provides simple cryptographic related classes for hashing/verifying and encrypting/decrypting data in .NET.
Installation
ByteDev.Crypto has been written as a .NET Standard 2.0 library, so you can consume it from a .NET Core or .NET Framework 4.6.1 (or greater) application.
ByteDev.Crypto is hosted as a package on nuget.org. To install from the Package Manager Console in Visual Studio run:
Install-Package ByteDev.Crypto
Further details can be found on the nuget page.
Code
The repo can be cloned from git bash:
git clone https://github.com/ByteDev/ByteDev.Crypto
Usage
Hashing
Simple example of hasing some clear text ("Password123") and verifying a guess is equal.
var service = new HashService();
string hash = service.Hash("Password123");
bool isLoginSuccessful = service.Verify("passwordGuess", hash);
Encryption
Simple example of encrypting a secret with a key and then decrypting it.
var algo = new RijndaelAlgorithm();
var keyFactory = new EncryptionKeyIvFactory(algo);
var keyIv = keyFactory.Create("Password1", Encoding.UTF8.GetBytes("someSalt"));
var service = new EncryptionService(algo);
byte[] cipher = service.Encrypt("mySecret", keyIv);
string clearText = service.Decrypt(cipher, keyIv); // clearText == "mySecret"
Random
Example of creating a random string of a specified length using only the characters specified.
const string validChars = "1234567890";
const int length = 5;
using (var r = new CryptoRandom(validChars))
{
string randomString = r.CreateRandomString(length);
}
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ByteDev.Crypto:
Package | Downloads |
---|---|
ByteDev.Testing.NUnit
.NET Standard library that provides some extra NUnit functionality. |
|
ByteDev.AirVpn.IpLeak
.NET Standard library to help communicate with the IP Leak API. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
8.0.0 | 5,367 | 10/14/2021 |
7.0.0 | 406 | 5/31/2021 |
6.1.0 | 267 | 5/24/2021 |
6.0.0 | 295 | 1/20/2021 |
5.1.1 | 298 | 1/18/2021 |
5.1.0 | 343 | 12/18/2020 |
5.0.2 | 886 | 7/2/2020 |
5.0.1 | 416 | 7/2/2020 |
5.0.0 | 378 | 6/8/2020 |
4.0.0 | 435 | 4/29/2020 |
3.3.0 | 361 | 4/25/2020 |
3.2.0 | 476 | 3/28/2020 |
3.1.0 | 425 | 3/25/2020 |
3.0.3 | 391 | 2/28/2020 |
3.0.1 | 424 | 11/8/2019 |
3.0.0 | 480 | 4/10/2019 |
2.1.0 | 490 | 3/7/2019 |
2.0.0 | 555 | 2/12/2019 |
1.2.0 | 561 | 12/17/2018 |
1.1.0 | 653 | 9/24/2018 |
1.0.0 | 716 | 8/17/2018 |