Esempio n. 1
0
 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");
            }
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
            }));
        }