public static HashAlgorithm GetHashAlgorithm(System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD digestMethod) { if (digestMethod == System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD.CMS_HASH_DIGESTMETHOD_SHA1) { return(new SHA1CryptoServiceProvider()); } if (digestMethod == System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD.CMS_HASH_DIGESTMETHOD_SHA256) { if (PlatformSpecific.OnWindows2003 || PlatformSpecific.OnVistaOrAbove) { return(CryptoConfig.CreateFromName("System.Security.Cryptography.SHA256CryptoServiceProvider") as HashAlgorithm); } return(new SHA256Managed()); } if (digestMethod == System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD.CMS_HASH_DIGESTMETHOD_SHA384) { if (PlatformSpecific.OnWindows2003 || PlatformSpecific.OnVistaOrAbove) { return(CryptoConfig.CreateFromName("System.Security.Cryptography.SHA384CryptoServiceProvider") as HashAlgorithm); } return(new SHA384Managed()); } if (digestMethod != System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD.CMS_HASH_DIGESTMETHOD_SHA512) { throw new NotSupportedException(string.Format(CultureInfo.CurrentUICulture, Resources.GetString("Ex_DigestMethodNotSupported"), new object[] { digestMethod.ToString() })); } if (!PlatformSpecific.OnWindows2003 && !PlatformSpecific.OnVistaOrAbove) { return(new SHA512Managed()); } return(CryptoConfig.CreateFromName("System.Security.Cryptography.SHA512CryptoServiceProvider") as HashAlgorithm); }
public Hash(byte[] digestValue, System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD digestMethod, System.Deployment.Internal.Isolation.Manifest.CMS_HASH_TRANSFORM transform) { if (digestValue == null) { throw new ArgumentException(Resources.GetString("Ex_HashNullDigestValue")); } this._digestValue = digestValue; this._digestMethod = digestMethod; this._transform = transform; }
public Hash(byte[] digestValue, System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD digestMethod, System.Deployment.Internal.Isolation.Manifest.CMS_HASH_TRANSFORM transform) { if (digestValue == null) { throw new ArgumentException(Resources.GetString("Ex_HashNullDigestValue")); } this._digestValue = digestValue; this._digestMethod = digestMethod; this._transform = transform; }
public static byte[] GenerateDigestValue(string filePath, System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD digestMethod, System.Deployment.Internal.Isolation.Manifest.CMS_HASH_TRANSFORM transform) { Stream inputStream = null; byte[] buffer = null; try { HashAlgorithm hashAlgorithm = GetHashAlgorithm(digestMethod); inputStream = GetTransformedStream(filePath, transform); buffer = hashAlgorithm.ComputeHash(inputStream); } finally { if (inputStream != null) { inputStream.Close(); } } return(buffer); }
public void AddHash(byte[] digestValue, System.Deployment.Internal.Isolation.Manifest.CMS_HASH_DIGESTMETHOD digestMethod, System.Deployment.Internal.Isolation.Manifest.CMS_HASH_TRANSFORM transform) { Hash hash = new Hash(digestValue, digestMethod, transform); this._hashes.Add(hash); }