Ejemplo n.º 1
0
        public static IHashAlgorithim GetAlgorithimInterface(this Enumerations.ChecksumAlgorithim val)
        {
            switch (val)
            {
            case Enumerations.ChecksumAlgorithim.None:
                return(new Empty());

            case Enumerations.ChecksumAlgorithim.MD5:
                return(new MD5());

            case Enumerations.ChecksumAlgorithim.SHA1:
                return(new SHA1());

            case Enumerations.ChecksumAlgorithim.SHA256:
                return(new SHA256());

            case Enumerations.ChecksumAlgorithim.SHA384:
                return(new SHA384());

            case Enumerations.ChecksumAlgorithim.SHA512:
                return(new SHA512());

            default:
                throw new Exception($"Unhandled {nameof(Enumerations.ChecksumAlgorithim)}: {val}");
            }
        }
Ejemplo n.º 2
0
        private static IHashAlgorithim GetAlgorithim(string flag)
        {
            if (string.IsNullOrWhiteSpace(flag))
            {
                throw new ArgumentException($"The checksum algorithim flag is empty/null.");
            }

            Enumerations.ChecksumAlgorithim algorithim = Enumerations.ChecksumAlgorithim.None;

            if (flag.Equals(m_Algorithim_Md5, StringComparison.OrdinalIgnoreCase))
            {
                Log("Algorithim is MD5.");

                algorithim = Enumerations.ChecksumAlgorithim.MD5;
            }
            else if (flag.Equals(m_Algorithim_Sha_1, StringComparison.OrdinalIgnoreCase))
            {
                Log("Algorithim is SHA-1.");

                algorithim = Enumerations.ChecksumAlgorithim.SHA1;
            }
            else if (flag.Equals(m_Algorithim_Sha_256, StringComparison.OrdinalIgnoreCase))
            {
                Log("Algorithim is SHA-256.");

                algorithim = Enumerations.ChecksumAlgorithim.SHA256;
            }
            else if (flag.Equals(m_Algorithim_Sha_384, StringComparison.OrdinalIgnoreCase))
            {
                Log("Algorithim is SHA384.");

                algorithim = Enumerations.ChecksumAlgorithim.SHA384;
            }
            else if (flag.Equals(m_Algorithim_Sha_512, StringComparison.OrdinalIgnoreCase))
            {
                Log("Algorithim is SHA-512.");

                algorithim = Enumerations.ChecksumAlgorithim.SHA512;
            }
            else
            {
                throw new ArgumentException($"The checksum algorithim flag is unhandled: \"{flag}\".");
            }

            return(HashAlgorithimFactory.Get(algorithim));
        }
        public static IHashAlgorithim Get(Enumerations.ChecksumAlgorithim algorithim)
        {
            IHashAlgorithim hashAlgoithim = new Empty();

            switch (algorithim)
            {
            case Enumerations.ChecksumAlgorithim.None:

                // Do nothing. Keep the case so that we know it's being
                // handled and it's not a mistake.
                break;

            case Enumerations.ChecksumAlgorithim.MD5:
                hashAlgoithim = new MD5();
                break;

            case Enumerations.ChecksumAlgorithim.SHA1:
                hashAlgoithim = new SHA1();
                break;

            case Enumerations.ChecksumAlgorithim.SHA256:
                hashAlgoithim = new SHA256();
                break;

            case Enumerations.ChecksumAlgorithim.SHA384:
                hashAlgoithim = new SHA384();
                break;

            case Enumerations.ChecksumAlgorithim.SHA512:
                hashAlgoithim = new SHA512();
                break;

            default:
                throw new ArgumentException($"Unhandled {nameof(Enumerations.ChecksumAlgorithim)}: {algorithim}");
            }

            return(hashAlgoithim);
        }