Hashids.net
Enums.NET
Hashids.net | Enums.NET | |
---|---|---|
13 | 4 | |
3,253 | 1,650 | |
- | - | |
4.5 | 3.4 | |
6 months ago | 3 days ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Hashids.net
-
Cache human-readable route-values of a Web API or not?
If you're just doing this to avoid Insecure Direct Object Reference (IDOR) problems, then perhaps something like Hashids might be a better choice?
-
Using a Guid as a PK, best practices.
I'm gonna be using this Library https://github.com/ullmark/hashids.net to encode the BIGINT into a string and decode the string back into the BIGINT within my web application.
-
Generating what appears to be a random long from a long, and being able to reliablely convert it back to its orignal value.
If you can use a string, then Markus Ullmark's hashids.net library would be a good place to start.
-
Does anyone know of a modern, DotNet7/C#10 implementation of this article, which covers tamper-proof hidden fields? They are exceedingly useful for CRUD forms which need to hold - but should never allow modification of - certain values, but I haven’t found an appropriate upgrade path.
You could use this approach along with this package https://github.com/ullmark/hashids.net
- Reversible "masking" of int data
-
Value converter of AutoMapper for hashids
Hashids helps you to convert a number Id to a string, this can make your app a little more secure hiding the actual id or related key of your DB when the data is requested by an API.
-
Is it ok to have sensitive data in cascading values?
Guids are nice, but there’s the option of hashids too. While it’s not advertised as a security mechanism, it does mask the integer and make things harder to guess
-
UUIDs to Prevent Enumeration Attacks
Another way to solve enumeration attacks is to use a two-way hashing algorithm to convert your auto-incrementing integer IDs to a hash of arbitrary length. This is essentially what YouTube is doing with their video IDs and it's a low-CPU, low-complexity solution that prevents/severely deters enumeration attacks.
Here is one such library for C# https://github.com/ullmark/hashids.net
- how to shorten the two-factor auth key?
-
[Parte 4] CQRS y MediatR: URLs seguros con HashIds
ullmark/hashids.net: A small .NET package to generate YouTube-like hashes from one or many numbers. (github.com)
Enums.NET
- Need to replicate IntelliSense behavior for enums but using strings for keys
-
What is it about C# that you do NOT like compared to other languages?
If you deal with Enums regularly, Enum.NET is a must have: https://github.com/TylerBrinkley/Enums.NET.
-
How to store string alongside value in discriminated union?
I guess you use a reflection-based library / nuget package to read those attributes. You can still do this in F#. The equivalent declaration and how to read it back using [Enums.Net](https://www.nuget.org/packages/Enums.NET/) would be:
What are some alternatives?
MediatR - Simple, unambitious mediator implementation in .NET
FluentValidation - A popular .NET validation library for building strongly-typed validation rules.
HidLibrary - This library enables you to enumerate and communicate with Hid compatible USB devices in .NET.
CsvHelper - Library to help reading and writing CSV files
Humanizer - Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities
SmartEnum - A base class for quickly and easily creating strongly typed enum replacements in C#.
Jint - Javascript Interpreter for .NET
RecordParser - Zero Allocation Writer/Reader Parser for .NET Core
Mediator.Net - A simple mediator for .Net for sending command, publishing event and request response with pipelines supported
Polly - Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.
Aeron.NET - Efficient reliable UDP unicast, UDP multicast, and IPC message transport - .NET port of Aeron