Expero.Libraries.CSharp.Hashing 1.1.0

Expero.Libraries.CSharp.Hashing

Пакет для расчета уникального строкового хэша у моделей.

Пакет содержит:

  • Интерфейсы, IHashable и IHashBuilder, позволяющие сущностям указывать какие именно свойства или поля будут учавствовать в формировании хэша;
  • Адаптер HashAdapter, содерджащий метод для формирования хэша;

Подключение к проекту.

Для подключения пакета к проекту не требуется делать никаких действий, кроме добавления пакета в проект.

Пример получения хэша для cущности DTO:

Внедряем реализацию IHashable для сущности:

public class ExampletDto : IHashable
{
    public long Count { get; set; }

    public bool IsMain { get; set; }

    public IEnumerable<string> Other { get; set; }


    #region IHashable

    void IHashable.Build(IHashBuilder builder)
    {
        // Тут указываем свойства или поля, которые учитываются для формирования хэша
        builder.Add(Count)
               .Add(IsMain)
               .Add(Other);
    }

    #endregion IHashable
}

Формируем строктовый хэш:

var image = new ExampletDto
{
    Count = 1,
    IsMain = true,
    Other = new string[] { "one", "two", "..." }
};

var hash = HashAdapter.Build(image);

No packages depend on Expero.Libraries.CSharp.Hashing.

Version Downloads Last updated
1.1.0 1 02/28/2026
1.0.1 1 02/28/2026
1.0.0 1 02/28/2026