Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / Cryptography / HMACSHA512.cs / 2 / 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); } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FileDialogCustomPlace.cs
- XmlBufferReader.cs
- MergePropertyDescriptor.cs
- TextTreeNode.cs
- LogicalExpressionTypeConverter.cs
- CatalogPartCollection.cs
- TransactionManager.cs
- ScrollEventArgs.cs
- NameValueConfigurationCollection.cs
- BooleanSwitch.cs
- SqlCommand.cs
- WindowsTooltip.cs
- DefinitionBase.cs
- RichTextBoxDesigner.cs
- TrustManager.cs
- Line.cs
- MimeAnyImporter.cs
- PopOutPanel.cs
- Message.cs
- Math.cs
- WebEventCodes.cs
- MasterPageParser.cs
- Converter.cs
- ReliabilityContractAttribute.cs
- JsonSerializer.cs
- TextFragmentEngine.cs
- ZipPackage.cs
- AlphabeticalEnumConverter.cs
- UIPermission.cs
- ContentPresenter.cs
- X509Utils.cs
- ProgramNode.cs
- CellLabel.cs
- PageSetupDialog.cs
- DefaultValidator.cs
- System.Data_BID.cs
- DataControlLinkButton.cs
- RowsCopiedEventArgs.cs
- Gdiplus.cs
- NamespaceInfo.cs
- StorageScalarPropertyMapping.cs
- AccessibleObject.cs
- ApplicationTrust.cs
- ProtectedConfigurationProviderCollection.cs
- MetadataPropertyCollection.cs
- ListControl.cs
- ListCommandEventArgs.cs
- DataBoundLiteralControl.cs
- InOutArgumentConverter.cs
- coordinator.cs
- MetadataItemEmitter.cs
- ElementFactory.cs
- ProcessHostServerConfig.cs
- SectionRecord.cs
- ApplicationFileParser.cs
- WasEndpointConfigContainer.cs
- DesignerSerializationVisibilityAttribute.cs
- TextSelectionHelper.cs
- BinaryMethodMessage.cs
- PropertyGridDesigner.cs
- XmlSchemaObjectCollection.cs
- XmlSchemaObjectTable.cs
- _LocalDataStoreMgr.cs
- CatalogPartCollection.cs
- DependencyObjectType.cs
- HitTestWithPointDrawingContextWalker.cs
- ChameleonKey.cs
- SqlRemoveConstantOrderBy.cs
- Rotation3DAnimation.cs
- HttpModule.cs
- PageContentCollection.cs
- WebPartConnectionsConnectVerb.cs
- TextTreeInsertUndoUnit.cs
- XsdDateTime.cs
- MultipleViewPattern.cs
- DesignerTransactionCloseEvent.cs
- IdentifierCreationService.cs
- EditCommandColumn.cs
- MatrixTransform3D.cs
- ArithmeticException.cs
- DeploymentSectionCache.cs
- DataSourceConverter.cs
- RelationshipType.cs
- StateItem.cs
- CompositeDataBoundControl.cs
- StylusButtonEventArgs.cs
- DetailsViewPagerRow.cs
- ListViewHitTestInfo.cs
- XsltFunctions.cs
- Activity.cs
- CacheChildrenQuery.cs
- AsynchronousChannelMergeEnumerator.cs
- InvalidOleVariantTypeException.cs
- EdmComplexTypeAttribute.cs
- GetBrowserTokenRequest.cs
- VariantWrapper.cs
- StringCollection.cs
- RealizationContext.cs
- Stylesheet.cs
- DefaultTraceListener.cs