using System.Security.Cryptography; namespace Deal.Modules.Kanban.Application.Models; /// /// Генератор коротких префиксных id модуля Kanban /// public static class PrefixId { // Размер случайной части в байтах: 6 байт → 12 hex-символов (uuid4().hex[:12]). private const int RandomHexBytes = 6; /// /// Новый id: префикс + 12 случайных hex-символов в нижнем регистре. /// /// Префикс типа записи (см. ). /// Короткий id записи (например, b_1a2b3c4d5e6f). public static string New(string prefix) { return prefix + Convert.ToHexString(RandomNumberGenerator.GetBytes(RandomHexBytes)).ToLowerInvariant(); } }