Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Vector3DCollection.cs
- EncoderBestFitFallback.cs
- PersonalizationEntry.cs
- ArraySubsetEnumerator.cs
- SRGSCompiler.cs
- WizardStepBase.cs
- ExternalFile.cs
- SecurityDescriptor.cs
- AsymmetricKeyExchangeFormatter.cs
- TypeUtils.cs
- Emitter.cs
- SapiAttributeParser.cs
- Hash.cs
- SetState.cs
- DomainConstraint.cs
- DesignTimeTemplateParser.cs
- BaseResourcesBuildProvider.cs
- safesecurityhelperavalon.cs
- SecurityStandardsManager.cs
- SuppressedPackageProperties.cs
- SqlAggregateChecker.cs
- storepermissionattribute.cs
- DecoderExceptionFallback.cs
- XmlSchemaComplexContentExtension.cs
- TextShapeableCharacters.cs
- PublisherIdentityPermission.cs
- TextProviderWrapper.cs
- HealthMonitoringSection.cs
- PanelDesigner.cs
- BufferModesCollection.cs
- ContentDisposition.cs
- DoubleAnimationUsingKeyFrames.cs
- IconBitmapDecoder.cs
- HttpServerVarsCollection.cs
- CaseInsensitiveComparer.cs
- FunctionOverloadResolver.cs
- AsymmetricKeyExchangeFormatter.cs
- OrderedDictionaryStateHelper.cs
- TreeViewCancelEvent.cs
- RuleDefinitions.cs
- TraceSection.cs
- GridViewUpdateEventArgs.cs
- QualificationDataAttribute.cs
- XmlIncludeAttribute.cs
- AudioSignalProblemOccurredEventArgs.cs
- MenuTracker.cs
- SplayTreeNode.cs
- ReadOnlyState.cs
- ContextMarshalException.cs
- StorageAssociationTypeMapping.cs
- DefaultEventAttribute.cs
- SizeFConverter.cs
- BrowserTree.cs
- ImageList.cs
- ObjectListSelectEventArgs.cs
- SafeWaitHandle.cs
- arc.cs
- InstancePersistenceEvent.cs
- XomlCompilerHelpers.cs
- XmlComment.cs
- WebBrowserNavigatedEventHandler.cs
- Invariant.cs
- RadioButton.cs
- ColumnMapVisitor.cs
- VersionPair.cs
- QilName.cs
- _SSPISessionCache.cs
- MessageDecoder.cs
- BitmapEffectInput.cs
- TextDecoration.cs
- SystemIPv4InterfaceProperties.cs
- SkinBuilder.cs
- SHA1.cs
- DataGridViewCellCancelEventArgs.cs
- TextEditorLists.cs
- StringSorter.cs
- MediaContext.cs
- XmlChoiceIdentifierAttribute.cs
- EnvironmentPermission.cs
- DataGridViewCellFormattingEventArgs.cs
- DataServiceQueryProvider.cs
- LayoutSettings.cs
- XmlSerializerAssemblyAttribute.cs
- AdapterDictionary.cs
- AuthenticationSection.cs
- PropertyChangedEventManager.cs
- ToolboxItemAttribute.cs
- Pointer.cs
- TableProviderWrapper.cs
- MenuCommand.cs
- LinkButton.cs
- HuffCodec.cs
- MailDefinitionBodyFileNameEditor.cs
- SimpleLine.cs
- UnsafeNetInfoNativeMethods.cs
- UnionCodeGroup.cs
- ProjectionCamera.cs
- DataGridViewTopRowAccessibleObject.cs
- CompilerState.cs
- MultilineStringConverter.cs