Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Security / Cryptography / SHA256Cng.cs / 1305376 / SHA256Cng.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-256 hashing algorithm /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class SHA256Cng : SHA256 { private BCryptHashAlgorithm m_hashAlgorithm; //// [System.Security.SecurityCritical] public SHA256Cng() { Contract.Ensures(m_hashAlgorithm != null); m_hashAlgorithm = new BCryptHashAlgorithm(CngAlgorithm.Sha256, 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-256 hashing algorithm /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class SHA256Cng : SHA256 { private BCryptHashAlgorithm m_hashAlgorithm; //// [System.Security.SecurityCritical] public SHA256Cng() { Contract.Ensures(m_hashAlgorithm != null); m_hashAlgorithm = new BCryptHashAlgorithm(CngAlgorithm.Sha256, 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
- ServiceProviders.cs
- RoleGroup.cs
- NativeCppClassAttribute.cs
- LinqDataSourceStatusEventArgs.cs
- PageTheme.cs
- XPathSelectionIterator.cs
- DrawingContextDrawingContextWalker.cs
- ReflectionTypeLoadException.cs
- DataServiceQueryOfT.cs
- ThicknessAnimation.cs
- Variable.cs
- HtmlInputControl.cs
- StylusPointPropertyUnit.cs
- RectangleGeometry.cs
- ToolStripButton.cs
- ControlBindingsCollection.cs
- PhysicalFontFamily.cs
- safemediahandle.cs
- FixedSOMGroup.cs
- DataRecordObjectView.cs
- HitTestFilterBehavior.cs
- DelayedRegex.cs
- ChannelRequirements.cs
- WriteTimeStream.cs
- GeometryGroup.cs
- ClaimComparer.cs
- ExpressionVisitorHelpers.cs
- SectionVisual.cs
- ErrorRuntimeConfig.cs
- WebEvents.cs
- PathTooLongException.cs
- ToolStripGripRenderEventArgs.cs
- BufferedGraphics.cs
- X509CertificateChain.cs
- BuildProvider.cs
- ObjectManager.cs
- BitmapEncoder.cs
- EntityDataSourceContextCreatingEventArgs.cs
- __FastResourceComparer.cs
- DataServiceException.cs
- CommandBindingCollection.cs
- HtmlInputImage.cs
- PackWebRequestFactory.cs
- MdiWindowListStrip.cs
- EntityDataSourceSelectedEventArgs.cs
- WebContext.cs
- Literal.cs
- ConnectionPointCookie.cs
- PrtCap_Public.cs
- BasicViewGenerator.cs
- ForeignKeyConstraint.cs
- ObjectPersistData.cs
- PasswordTextContainer.cs
- ArrayConverter.cs
- ManagementClass.cs
- SafePipeHandle.cs
- WriterOutput.cs
- PackagingUtilities.cs
- HTTPNotFoundHandler.cs
- TrustSection.cs
- TableLayout.cs
- MembershipValidatePasswordEventArgs.cs
- ComponentCodeDomSerializer.cs
- MenuStrip.cs
- MailDefinition.cs
- SmiGettersStream.cs
- Merger.cs
- LineServices.cs
- Normalization.cs
- ThaiBuddhistCalendar.cs
- __TransparentProxy.cs
- RichTextBox.cs
- AnnotationAdorner.cs
- XamlFigureLengthSerializer.cs
- DetailsViewCommandEventArgs.cs
- MachineKeySection.cs
- TypographyProperties.cs
- ExpressionLexer.cs
- TempFiles.cs
- AgileSafeNativeMemoryHandle.cs
- SystemTcpConnection.cs
- ContextMenuStrip.cs
- TrustSection.cs
- XslAstAnalyzer.cs
- MailDefinition.cs
- UTF32Encoding.cs
- ReadOnlyCollection.cs
- DescendentsWalker.cs
- WebPartHeaderCloseVerb.cs
- SpinWait.cs
- DataExpression.cs
- PropertyChangedEventManager.cs
- ByteStorage.cs
- Dynamic.cs
- BindingExpressionUncommonField.cs
- TextModifier.cs
- DescendentsWalker.cs
- EtwProvider.cs
- ResourcePermissionBase.cs
- AndCondition.cs