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
- ClientBuildManagerCallback.cs
- Transform3DGroup.cs
- ApplicationGesture.cs
- DataGridViewRowPostPaintEventArgs.cs
- XPathDescendantIterator.cs
- EdmType.cs
- SystemMulticastIPAddressInformation.cs
- relpropertyhelper.cs
- TableChangeProcessor.cs
- CacheDict.cs
- FixedSOMLineRanges.cs
- XmlDataSourceNodeDescriptor.cs
- AssemblyContextControlItem.cs
- WindowsListViewScroll.cs
- LinearGradientBrush.cs
- ObservableDictionary.cs
- HierarchicalDataBoundControlAdapter.cs
- PropagatorResult.cs
- LabelAutomationPeer.cs
- MemberRelationshipService.cs
- NullToBooleanConverter.cs
- ConfigurationSchemaErrors.cs
- EditCommandColumn.cs
- StorageModelBuildProvider.cs
- DispatcherOperation.cs
- BindingExpressionBase.cs
- UshortList2.cs
- EnumerableValidator.cs
- StylusPointCollection.cs
- EdmToObjectNamespaceMap.cs
- LayoutEvent.cs
- CompilationSection.cs
- WorkflowViewService.cs
- GZipUtils.cs
- SqlParameterCollection.cs
- MembershipPasswordException.cs
- TdsParserStaticMethods.cs
- ProxyHelper.cs
- MetadataCollection.cs
- XPathDocument.cs
- StylusCollection.cs
- hresults.cs
- CommandConverter.cs
- SqlNodeTypeOperators.cs
- SelectionRange.cs
- NumberAction.cs
- ToolboxItemAttribute.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- SecurityResources.cs
- EditorPartDesigner.cs
- SqlDataSourceAdvancedOptionsForm.cs
- FixedTextView.cs
- AuthorizationSection.cs
- SiteMapNodeItemEventArgs.cs
- SimpleType.cs
- HitTestDrawingContextWalker.cs
- JavaScriptSerializer.cs
- SqlEnums.cs
- ConfigurationManagerHelper.cs
- SqlHelper.cs
- ControlsConfig.cs
- ReadOnlyAttribute.cs
- SchemaNames.cs
- CodeSubDirectory.cs
- _Events.cs
- PropertyInfoSet.cs
- AnchorEditor.cs
- UIElementParaClient.cs
- SrgsGrammar.cs
- ProcessHostFactoryHelper.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- SoapSchemaMember.cs
- DataGridView.cs
- ActivityDelegate.cs
- userdatakeys.cs
- RegexNode.cs
- UnhandledExceptionEventArgs.cs
- CollectionChangeEventArgs.cs
- PropertyAccessVisitor.cs
- ResourceProviderFactory.cs
- DocumentDesigner.cs
- FileDataSource.cs
- XmlSerializerOperationBehavior.cs
- GridViewRowCollection.cs
- ImpersonationContext.cs
- versioninfo.cs
- DataBoundControlAdapter.cs
- TypeFieldSchema.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- SmtpNegotiateAuthenticationModule.cs
- MdiWindowListItemConverter.cs
- FixedSOMTableCell.cs
- CacheMode.cs
- FilterableAttribute.cs
- SingleObjectCollection.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- basenumberconverter.cs
- HtmlHead.cs
- CfgSemanticTag.cs
- Unit.cs