Sqids - это библиотека с открытым исходным кодом, которая позволяет генерировать короткие уникальные идентификаторы из чисел. Эти идентификаторы безопасны для URL, могут кодировать несколько чисел и не содержат обычные слова из списка непристойной лексики. Подробнее .
Вот как они выглядят:
Быстрый пример кодирования и декодирования:
var sqids = new SqidsEncoder<int>();
var id = sqids.Encode(1, 2, 3); // "86Rf07"
var numbers = sqids.Decode(id); // [1, 2, 3]
Если идентификаторы слишком короткие, вы можете дополнить их до определенной длины:
var sqids = new SqidsEncoder<int>(new()
{
MinLength = 10,
});
var id = sqids.Encode(1, 2, 3); // "86Rf07xd4z"
var numbers = sqids.Decode(id); // [1, 2, 3]
Создание уникальных идентификаторов путем перемешивания алфавита:
var sqids = new SqidsEncoder<int>(new()
{
Alphabet = "k3G7QAe51FCsPW92uEOyq4Bg6Sp8YzVTmnU0liwDdHXLajZrfxNhobJIRcMvKt",
});
var id = sqids.Encode(1, 2, 3); // "XRKUdQ"
var numbers = sqids.Decode(id); // [1, 2, 3]
Полная документация находится на https://github.com/sqids/sqids-dotnet
Если вы ищете оригинальный Hashids .NET, вы можете найти его здесь: https://github.com/ullmark/hashids.net
Основное применение Sqids - это чисто визуальное. Если вы хотите использовать идентификаторы вместо чисел в своем проекте, Sqids может быть хорошим выбором.