Если вам нужна Guid-like реализация Uuid, то посмотрите на этот проект.
Нам вот нужна, поэтому мы в итоге сделали свою библиотеку и выложили в open source. Новости проекта Dodo Open Source
У нас появился ещё один проект с открытым исходным кодом — Primitives. Цель проекта: реализация честного Uuid в соответствии с RFC4122.
Сейчас проект содержит Guid-like реализацию Uuid и методы для работы с hex-строками. Эта библиотека применяется в новом Auth. Вы можете использовать её в своём сервисе, если вам нужен Uuid.
***
О проекте:
— Автор: Рома Букин (ищите его в Телеграм под ником @vanbukin).
— Библиотека называется Dodo.Primitives.
— Исходный код доступен на GitHub: https://github.com/dodopizza/primitives.
— Распространяется как NuGet-пакет: https://www.nuget.org/packages/Dodo.Primitives/1.1.0.
— В планах добавить для Uuid конвертацию в строки при помощи AVX интринсиков.
Структура проекта: System.Guid, у которой API как у System.Guid, но при этом честный, прямой порядок байт, одинаковое строковое и байтовое представление и пара алгоритмов для генерации.
Один — как Uuid v1. Второй — как Uuid v1, в котором развёрнута Time-based часть, чтобы он представлял из себя монотонно-возрастающую последовательность, которую нормально индексирует MySQL.
Если вам интересны детали проекта, смотрите Ромин доклад на MskDotNet: https://www.youtube.com/watch?v=OGK4Lkd6p6s
***
Задавайте свои вопросы, мы с радостью на них ответим.
#opensource #dodoopensource