Expero.Libraries.CSharp.Hashing 1.0.1
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.
.NET 7.0
- Microsoft.IdentityModel.Tokens (>= 7.0.3)