/// <inheritdoc />
        protected override string OnGenerateInHex(
            FileInfo file,
            CancellationToken cancellationToken)
        {
            if (UsingBouncyCastleFirst)
            {
                return(DoGenerateInHex(
                           file,
                           cancellationToken
                           ));
            }

            try
            {
                return(DefaultSha1.DoGenerateInHex(
                           file,
                           cancellationToken
                           ));
            }
            catch (Exception e)
            {
                if (e is OperationCanceledException)
                {
                    throw;
                }

                Logger.GetInstance(typeof(Sha1Impl)).Fatal($"Generating checksum by system error: {e}");
                UsingBouncyCastleFirst = true;
            }
            return(DoGenerateInHex(
                       file,
                       cancellationToken
                       ));
        }
        /// <inheritdoc />
        protected override string OnGenerateInHex(string content)
        {
            if (UsingBouncyCastleFirst)
            {
                return(DoGenerateInHex(content));
            }

            try
            {
                return(DefaultSha1.DoGenerateInHex(content));
            }
            catch (Exception e)
            {
                Logger.GetInstance(typeof(Sha1Impl)).Fatal($"Generating checksum by system error: {e}");
                UsingBouncyCastleFirst = true;
            }
            return(DoGenerateInHex(content));
        }