Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Security / Cryptography / SHA1Cng.cs / 1305376 / SHA1Cng.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== using System; using System.Diagnostics.Contracts; namespace System.Security.Cryptography { ////// Wrapper around the BCrypt implementation of the SHA-1 hashing algorithm /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class SHA1Cng : SHA1 { private BCryptHashAlgorithm m_hashAlgorithm; //// [System.Security.SecurityCritical] public SHA1Cng() { Contract.Ensures(m_hashAlgorithm != null); m_hashAlgorithm = new BCryptHashAlgorithm(CngAlgorithm.Sha1, BCryptNative.ProviderName.MicrosoftPrimitiveProvider); } //// // [System.Security.SecurityCritical] protected override void Dispose(bool disposing) { try { if (disposing) { m_hashAlgorithm.Dispose(); } } finally { base.Dispose(disposing); } } //// // [System.Security.SecurityCritical] public override void Initialize() { Contract.Assert(m_hashAlgorithm != null); m_hashAlgorithm.Initialize(); } //// // [System.Security.SecurityCritical] protected override void HashCore(byte[] array, int ibStart, int cbSize) { Contract.Assert(m_hashAlgorithm != null); m_hashAlgorithm.HashCore(array, ibStart, cbSize); } //// // [System.Security.SecurityCritical] protected override byte[] HashFinal() { Contract.Assert(m_hashAlgorithm != null); return m_hashAlgorithm.HashFinal(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== using System; using System.Diagnostics.Contracts; namespace System.Security.Cryptography { ///// /// Wrapper around the BCrypt implementation of the SHA-1 hashing algorithm /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class SHA1Cng : SHA1 { private BCryptHashAlgorithm m_hashAlgorithm; //// [System.Security.SecurityCritical] public SHA1Cng() { Contract.Ensures(m_hashAlgorithm != null); m_hashAlgorithm = new BCryptHashAlgorithm(CngAlgorithm.Sha1, BCryptNative.ProviderName.MicrosoftPrimitiveProvider); } //// // [System.Security.SecurityCritical] protected override void Dispose(bool disposing) { try { if (disposing) { m_hashAlgorithm.Dispose(); } } finally { base.Dispose(disposing); } } //// // [System.Security.SecurityCritical] public override void Initialize() { Contract.Assert(m_hashAlgorithm != null); m_hashAlgorithm.Initialize(); } //// // [System.Security.SecurityCritical] protected override void HashCore(byte[] array, int ibStart, int cbSize) { Contract.Assert(m_hashAlgorithm != null); m_hashAlgorithm.HashCore(array, ibStart, cbSize); } //// // [System.Security.SecurityCritical] protected override byte[] HashFinal() { Contract.Assert(m_hashAlgorithm != null); return m_hashAlgorithm.HashFinal(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.//
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- sqlmetadatafactory.cs
- OrderPreservingSpoolingTask.cs
- SiteMap.cs
- WpfWebRequestHelper.cs
- UpdateCompiler.cs
- WindowsFont.cs
- diagnosticsswitches.cs
- MeasureItemEvent.cs
- SoapRpcServiceAttribute.cs
- DesignerExtenders.cs
- ControlParameter.cs
- FunctionImportMapping.cs
- SqlMethods.cs
- XmlAttributeCache.cs
- XPathAncestorIterator.cs
- GrammarBuilderDictation.cs
- EventLogReader.cs
- BaseValidator.cs
- UInt64Storage.cs
- SizeChangedEventArgs.cs
- DataListComponentEditor.cs
- AddressingVersion.cs
- ChannelDispatcher.cs
- InstanceHandleReference.cs
- MediaElementAutomationPeer.cs
- activationcontext.cs
- recordstatescratchpad.cs
- EditorZone.cs
- EditorPartCollection.cs
- InstanceHandleReference.cs
- ReceiveMessageRecord.cs
- X509Utils.cs
- ColumnPropertiesGroup.cs
- CompareValidator.cs
- ViewCellSlot.cs
- HandlerFactoryCache.cs
- AllMembershipCondition.cs
- Encoder.cs
- LocalizabilityAttribute.cs
- OptimisticConcurrencyException.cs
- XmlSchemaAny.cs
- CodeBlockBuilder.cs
- ConfigXmlText.cs
- XmlConvert.cs
- Monitor.cs
- Codec.cs
- Application.cs
- DefaultBindingPropertyAttribute.cs
- XPathConvert.cs
- CacheSection.cs
- HwndHostAutomationPeer.cs
- Int32Storage.cs
- KeyGesture.cs
- ScrollChrome.cs
- SaveRecipientRequest.cs
- configsystem.cs
- ComEventsMethod.cs
- DecoderFallback.cs
- Vector3DKeyFrameCollection.cs
- ModelItemCollectionImpl.cs
- DynamicMethod.cs
- ParallelTimeline.cs
- XmlTypeMapping.cs
- PartitionedStream.cs
- Quack.cs
- DataGridLinkButton.cs
- _DisconnectOverlappedAsyncResult.cs
- MimeMultiPart.cs
- SqlAggregateChecker.cs
- SQLUtility.cs
- WindowsListViewSubItem.cs
- XmlExtensionFunction.cs
- ListItemsPage.cs
- ToggleProviderWrapper.cs
- ParallelRangeManager.cs
- Control.cs
- BaseContextMenu.cs
- ListCommandEventArgs.cs
- MatrixValueSerializer.cs
- RightsManagementInformation.cs
- TcpSocketManager.cs
- FormViewPageEventArgs.cs
- ReliableOutputConnection.cs
- PartitionResolver.cs
- PeerPresenceInfo.cs
- SafeTimerHandle.cs
- CompositeFontFamily.cs
- RuleSettingsCollection.cs
- HandlerBase.cs
- DataListItem.cs
- SecurityUtils.cs
- PerformanceCounterPermissionEntryCollection.cs
- cookieexception.cs
- LinearKeyFrames.cs
- LineBreak.cs
- DesignerDataRelationship.cs
- UnsafeNetInfoNativeMethods.cs
- RoleManagerModule.cs
- CachedTypeface.cs
- IgnoreSection.cs