Esempio n. 1
0
        public static Hasher Create(TlsHashAlgorithm hashAlgorithm)
        {
            switch (hashAlgorithm)
            {
#if NET45 || NET451
            case TlsHashAlgorithm.MD5: return(new HashAlgorithmHasher(new MD5CryptoServiceProvider()));

            case TlsHashAlgorithm.SHA1: return(new HashAlgorithmHasher(new SHA1CryptoServiceProvider()));

            case TlsHashAlgorithm.SHA256: return(new HashAlgorithmHasher(new SHA256CryptoServiceProvider()));

            case TlsHashAlgorithm.SHA384: return(new HashAlgorithmHasher(new SHA384CryptoServiceProvider()));

            case TlsHashAlgorithm.SHA512: return(new HashAlgorithmHasher(new SHA512CryptoServiceProvider()));

            case TlsHashAlgorithm.MD5SHA1: return(new HashAlgorithmHasher(new MD5SHA1()));

            default: throw new NotSupportedException();
#else
            case TlsHashAlgorithm.MD5: return(new IncrementalHashHasher(HashAlgorithmName.MD5));

            case TlsHashAlgorithm.SHA1: return(new IncrementalHashHasher(HashAlgorithmName.SHA1));

            case TlsHashAlgorithm.SHA256: return(new IncrementalHashHasher(HashAlgorithmName.SHA256));

            case TlsHashAlgorithm.SHA384: return(new IncrementalHashHasher(HashAlgorithmName.SHA384));

            case TlsHashAlgorithm.SHA512: return(new IncrementalHashHasher(HashAlgorithmName.SHA512));

            case TlsHashAlgorithm.MD5SHA1: return(new MD5SHA1IncrementalHasher());

            default: throw new NotSupportedException();
#endif
            }
        }
Esempio n. 2
0
        public static HashAlgorithmName GetHashAlgorithmName(TlsHashAlgorithm hashAlgorithm)
        {
            switch (hashAlgorithm)
            {
            case TlsHashAlgorithm.MD5: return(HashAlgorithmName.MD5);

            case TlsHashAlgorithm.SHA1: return(HashAlgorithmName.SHA1);

            case TlsHashAlgorithm.SHA256: return(HashAlgorithmName.SHA256);

            case TlsHashAlgorithm.SHA384: return(HashAlgorithmName.SHA384);

            case TlsHashAlgorithm.SHA512: return(HashAlgorithmName.SHA512);

            default: throw new NotSupportedException();
            }
        }
Esempio n. 3
0
        public static int GetHashLen(TlsHashAlgorithm hashAlgorithm)
        {
            switch (hashAlgorithm)
            {
            case TlsHashAlgorithm.SHA1:
                return(160);

            case TlsHashAlgorithm.SHA256:
                return(256);

            case TlsHashAlgorithm.SHA384:
                return(384);

            case TlsHashAlgorithm.SHA512:
                return(512);

            default:
                throw new NotSupportedException();
            }
        }