Code:
/ DotNET / DotNET / 8.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
- Roles.cs
- StylusShape.cs
- InternalResources.cs
- DrawListViewSubItemEventArgs.cs
- HttpServerUtilityWrapper.cs
- PropertyDescriptorCollection.cs
- Faults.cs
- DataTemplate.cs
- SqlGenericUtil.cs
- _FtpControlStream.cs
- UserControlAutomationPeer.cs
- AdapterUtil.cs
- MetadataException.cs
- UrlSyndicationContent.cs
- Quad.cs
- DirtyTextRange.cs
- PeerResolver.cs
- TemplateManager.cs
- BoundsDrawingContextWalker.cs
- GridEntryCollection.cs
- ItemAutomationPeer.cs
- SecurityHelper.cs
- BitmapMetadataEnumerator.cs
- WindowsListViewGroupSubsetLink.cs
- WindowsStartMenu.cs
- DocumentGridPage.cs
- ArrangedElement.cs
- ActivityValidator.cs
- DataRow.cs
- DataMemberConverter.cs
- WinFormsComponentEditor.cs
- HttpRawResponse.cs
- MorphHelper.cs
- HttpFileCollection.cs
- XmlIlVisitor.cs
- DetailsViewPagerRow.cs
- WhiteSpaceTrimStringConverter.cs
- DoubleAnimationUsingKeyFrames.cs
- PersonalizationDictionary.cs
- ControlValuePropertyAttribute.cs
- TextElementEnumerator.cs
- QilReplaceVisitor.cs
- WebScriptServiceHost.cs
- HostSecurityManager.cs
- TraceProvider.cs
- XmlName.cs
- DataListCommandEventArgs.cs
- KeyedPriorityQueue.cs
- FlatButtonAppearance.cs
- CompiledQuery.cs
- FixedTextContainer.cs
- WebPartZoneCollection.cs
- HttpConfigurationContext.cs
- Query.cs
- WindowInteropHelper.cs
- Aes.cs
- SiteMap.cs
- ControlOperationBehavior.cs
- ListItem.cs
- SqlTypesSchemaImporter.cs
- Drawing.cs
- WithParamAction.cs
- ReadOnlyCollection.cs
- CustomCategoryAttribute.cs
- DataGridItemEventArgs.cs
- AutoGeneratedField.cs
- Block.cs
- ZipPackagePart.cs
- DSASignatureDeformatter.cs
- Int32Animation.cs
- StringAnimationUsingKeyFrames.cs
- XmlAttributeCollection.cs
- TrackingStringDictionary.cs
- WebBrowserEvent.cs
- SafeHandle.cs
- ReferenceService.cs
- NavigationProgressEventArgs.cs
- ReferencedCollectionType.cs
- PropertyGeneratedEventArgs.cs
- WebMessageEncodingBindingElement.cs
- WebPermission.cs
- EventToken.cs
- ClientBuildManager.cs
- TemplateFactory.cs
- StaticTextPointer.cs
- DataTableTypeConverter.cs
- EdmProviderManifest.cs
- ColumnPropertiesGroup.cs
- OpCodes.cs
- Control.cs
- CardSpacePolicyElement.cs
- Literal.cs
- Compiler.cs
- ZipIOLocalFileBlock.cs
- SqlParameterCollection.cs
- IndentTextWriter.cs
- RoutedCommand.cs
- UniqueIdentifierService.cs
- CodeTypeConstructor.cs
- SSmlParser.cs