private string GetMonthHashAndCountLine(IMonthHashAndCount monthHashAndCount) { return (monthHashAndCount.Month.ToUniversalTime().ToString("yyyy-MM") + "=" + _hashStringProvider.GetHashString(monthHashAndCount.Hash, monthHashAndCount.Count) + Environment.NewLine); }
public void ValidateHash(IContent content, string hash) { var contentHash = GetContentHash(content); var contentHashString = _hashStringProvider.GetHashString(contentHash); if (!string.Equals(contentHashString, hash, StringComparison.InvariantCultureIgnoreCase)) { throw new UserException("Invalid content hash"); } }
public string GetContentsHash(DateTimeOffset beforeMoment) { _authorizationChecker.CheckUserIsInRole(Security.Roles.Replicator, Security.Roles.Backup); var container = GetContainer(); var hashResult = GetContainerMonthsHash(container, beforeMoment); return(_hashStringProvider.GetHashString(hashResult.Hash, hashResult.Count)); }
public async Task <string> GetContentsHashAsync(DateTimeOffset beforeMoment) { return(await Task.Run(() => { var monthHashAndCounts = _contentsMonthHashProvider.GetMonthHashAndCounts( _contentIdentifiersProvider.GetChronologicallyOrderedContentIdentifiers(Container, beforeMoment, null) ); var hashResult = _hashProvider.GetHashAndCount(monthHashAndCounts.Select(x => (x.Hash, x.Count))); return _hashStringProvider.GetHashString(hashResult.Hash, hashResult.Count); })); }