using System.Security.Cryptography; namespace TeleWave.Application.Broadcast.Bumpers; /// /// Детерминированный id ассета-превью для подблока заставки: один и тот же на каждый повторный рендер, /// поэтому предпросмотр перезаписывает единственный каталог assets/{id}, а не плодит новые. /// public static class BumperPreview { /// /// Свёртка id подблока в стабильный id превью. Не защита — просто способ получить из одного GUID /// другой, воспроизводимо; берём SHA-256 и первые 16 байт, чтобы в коде не оставалось вызовов /// сломанных хеш-функций, которые потом приходится каждый раз объяснять сканерам. /// public static Guid AssetId(Guid variantId) => new(SHA256.HashData(variantId.ToByteArray()).AsSpan(0, 16)); }