Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Security / Cryptography / HMACSHA512.cs / 1 / HMACSHA512.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // HMACSHA512.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class HMACSHA512 : HMAC { private bool m_useLegacyBlockSize = Utils._ProduceLegacyHmacValues(); // // public constructors // public HMACSHA512 () : this (Utils.GenerateRandom(128)) {} public HMACSHA512 (byte[] key) { Utils._ShowLegacyHmacWarning(); m_hashName = "SHA512"; m_hash1 = new SHA512Managed(); m_hash2 = new SHA512Managed(); HashSizeValue = 512; BlockSizeValue = BlockSize; base.InitializeKey(key); } private int BlockSize { get { return m_useLegacyBlockSize ? 64 : 128; } } ////// In Whidbey we incorrectly used a block size of 64 bytes for HMAC-SHA-384 and HMAC-SHA-512, /// rather than using the correct value of 128 bytes. Setting this to true causes us to fall /// back to the Whidbey mode which produces incorrect HMAC values. /// /// This value should be set only once, before hashing has begun, since we need to reset the key /// buffer for the block size change to take effect. /// /// The default vaue is off, however this can be toggled for the application by setting the /// legacyHMACMode config switch. /// /// We will also produce a warning when using either of these classes which is output to the /// debugger and event log unless the showLegacyHMACWarning config setting is disabled. This /// warning is generated for the first time either class is constructed. /// public bool ProduceLegacyHmacValues { get { return m_useLegacyBlockSize; } set { m_useLegacyBlockSize = value; BlockSizeValue = BlockSize; InitializeKey(KeyValue); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // HMACSHA512.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class HMACSHA512 : HMAC { private bool m_useLegacyBlockSize = Utils._ProduceLegacyHmacValues(); // // public constructors // public HMACSHA512 () : this (Utils.GenerateRandom(128)) {} public HMACSHA512 (byte[] key) { Utils._ShowLegacyHmacWarning(); m_hashName = "SHA512"; m_hash1 = new SHA512Managed(); m_hash2 = new SHA512Managed(); HashSizeValue = 512; BlockSizeValue = BlockSize; base.InitializeKey(key); } private int BlockSize { get { return m_useLegacyBlockSize ? 64 : 128; } } ////// In Whidbey we incorrectly used a block size of 64 bytes for HMAC-SHA-384 and HMAC-SHA-512, /// rather than using the correct value of 128 bytes. Setting this to true causes us to fall /// back to the Whidbey mode which produces incorrect HMAC values. /// /// This value should be set only once, before hashing has begun, since we need to reset the key /// buffer for the block size change to take effect. /// /// The default vaue is off, however this can be toggled for the application by setting the /// legacyHMACMode config switch. /// /// We will also produce a warning when using either of these classes which is output to the /// debugger and event log unless the showLegacyHMACWarning config setting is disabled. This /// warning is generated for the first time either class is constructed. /// public bool ProduceLegacyHmacValues { get { return m_useLegacyBlockSize; } set { m_useLegacyBlockSize = value; BlockSizeValue = BlockSize; InitializeKey(KeyValue); } } } } // 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
- BooleanConverter.cs
- MonikerHelper.cs
- ConsoleKeyInfo.cs
- SequentialWorkflowHeaderFooter.cs
- InternalDispatchObject.cs
- CodeSnippetExpression.cs
- CommonGetThemePartSize.cs
- ExceptionValidationRule.cs
- ColorConverter.cs
- Rotation3DAnimationBase.cs
- XamlStackWriter.cs
- IChannel.cs
- ThousandthOfEmRealPoints.cs
- RegexGroup.cs
- MonthChangedEventArgs.cs
- HttpListenerResponse.cs
- FrameworkElement.cs
- ObjectTag.cs
- AnimationClockResource.cs
- BindingMemberInfo.cs
- WeakEventTable.cs
- Error.cs
- CanExecuteRoutedEventArgs.cs
- IndicFontClient.cs
- Image.cs
- DbgCompiler.cs
- SqlConnectionPoolGroupProviderInfo.cs
- basecomparevalidator.cs
- CngAlgorithm.cs
- InputChannelBinder.cs
- CacheMode.cs
- UnionExpr.cs
- DbConnectionStringBuilder.cs
- ReflectEventDescriptor.cs
- UnsafeNativeMethods.cs
- XmlSchemaCompilationSettings.cs
- SiteMapNode.cs
- EndpointDiscoveryMetadata.cs
- WebBrowserNavigatingEventHandler.cs
- SortableBindingList.cs
- PartialClassGenerationTask.cs
- PackagingUtilities.cs
- CodeExporter.cs
- EntityDataSourceReferenceGroup.cs
- MenuCommand.cs
- ActionFrame.cs
- UnsafePeerToPeerMethods.cs
- HuffModule.cs
- TextRunCacheImp.cs
- MaterialCollection.cs
- RotateTransform.cs
- PeerPresenceInfo.cs
- EllipseGeometry.cs
- XmlStreamStore.cs
- WindowsListViewItemStartMenu.cs
- UrlAuthFailedErrorFormatter.cs
- AppSecurityManager.cs
- SoapParser.cs
- XmlEventCache.cs
- TypeDependencyAttribute.cs
- TableItemProviderWrapper.cs
- WebPartConnectionsEventArgs.cs
- TextComposition.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- EditorZone.cs
- Clipboard.cs
- ImageBrush.cs
- DescriptionAttribute.cs
- Propagator.ExtentPlaceholderCreator.cs
- baseshape.cs
- VarRemapper.cs
- XmlILAnnotation.cs
- HttpRequest.cs
- SessionConnectionReader.cs
- WorkflowApplicationCompletedEventArgs.cs
- DataComponentNameHandler.cs
- StreamGeometry.cs
- Table.cs
- HttpResponseInternalWrapper.cs
- TextBoxRenderer.cs
- SerialErrors.cs
- Utils.cs
- DataListCommandEventArgs.cs
- RelatedPropertyManager.cs
- ReceiveCompletedEventArgs.cs
- PersonalizationState.cs
- XmlToDatasetMap.cs
- ParserContext.cs
- NetNamedPipeSecurityElement.cs
- StringUtil.cs
- Debug.cs
- TypeSystemProvider.cs
- CngUIPolicy.cs
- CodeExpressionStatement.cs
- Cursors.cs
- SetterBaseCollection.cs
- peersecuritysettings.cs
- DoubleLinkList.cs
- WeakHashtable.cs
- XmlSchemaAttribute.cs