Flowsy.Security
1.0.0
See the version list below for details.
dotnet add package Flowsy.Security --version 1.0.0
NuGet\Install-Package Flowsy.Security -Version 1.0.0
<PackageReference Include="Flowsy.Security" Version="1.0.0" />
paket add Flowsy.Security --version 1.0.0
#r "nuget: Flowsy.Security, 1.0.0"
// Install Flowsy.Security as a Cake Addin #addin nuget:?package=Flowsy.Security&version=1.0.0 // Install Flowsy.Security as a Cake Tool #tool nuget:?package=Flowsy.Security&version=1.0.0
Flowsy Security
Foundation security components for .NET applications.
Hashing
IHasher
This interface includes methods intended to get a hashed representation as a string from a given integer or long value. In the other hand, the IHasher interface includes methods to decode an integer or long value from a given string.
A common scenario where this feature can come in handy is when we need to hide our database primary key values. We can hash our values via some object mapper in our application layer before they are sent to the client. This way, the user can perform requests without any knowledge of the actual database values using the hashed representation instead. We only need to decode the integer or long value in our application layer before hitting our database.
public interface IHasher
{
string Encode(int number);
string Encode(long number);
int DecodeInt(string hash);
long DecodeLong(string hash);
bool IsEncodedInt(string hash);
bool IsEncodedLong(string hash);
bool TryDecodeInt(string hash, out int number);
bool TryDecodeLong(string hash, out long number);
}
As a basic implementation for IHasher, this package includes a class named BasicHasher, which is a wrapper over the functionality offered by Hashids.net in a way that makes it easier to configure a service and use it as an injectable dependency.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Hashids.net (>= 1.6.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.