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
- DesignUtil.cs
- CuspData.cs
- ConfigXmlWhitespace.cs
- BulletDecorator.cs
- WebServiceErrorEvent.cs
- CodeAttributeDeclaration.cs
- FixedSOMGroup.cs
- TextTreeFixupNode.cs
- X509CertificateCollection.cs
- XmlSerializer.cs
- TypeValidationEventArgs.cs
- PropertyIDSet.cs
- oledbmetadatacolumnnames.cs
- CalendarButton.cs
- Trace.cs
- PageCatalogPart.cs
- EntityStoreSchemaGenerator.cs
- NullableConverter.cs
- WorkItem.cs
- ChannelBinding.cs
- TypeValidationEventArgs.cs
- Main.cs
- ScaleTransform3D.cs
- DeflateEmulationStream.cs
- BoundField.cs
- TabPanel.cs
- PersonalizationState.cs
- AsyncCompletedEventArgs.cs
- ReflectionPermission.cs
- EntityDataSourceDataSelection.cs
- LinkedResourceCollection.cs
- PassportPrincipal.cs
- AssociationTypeEmitter.cs
- InlineObject.cs
- AttributeCollection.cs
- ToolStripContainer.cs
- TimeoutException.cs
- SizeAnimationBase.cs
- SecurityException.cs
- XamlStyleSerializer.cs
- EdmComplexTypeAttribute.cs
- PackageRelationshipSelector.cs
- HtmlInputSubmit.cs
- xamlnodes.cs
- TraceSwitch.cs
- CodeTypeMemberCollection.cs
- CryptoApi.cs
- ReferencedCollectionType.cs
- LogicalCallContext.cs
- CmsInterop.cs
- Helpers.cs
- NetWebProxyFinder.cs
- CompilationUtil.cs
- TypeSchema.cs
- RelatedPropertyManager.cs
- XmlReader.cs
- UserControlCodeDomTreeGenerator.cs
- HostedElements.cs
- SqlUserDefinedAggregateAttribute.cs
- UInt64Converter.cs
- CheckBoxBaseAdapter.cs
- MatchingStyle.cs
- DataGridViewColumnHeaderCell.cs
- InvalidFilterCriteriaException.cs
- BindingElementExtensionElement.cs
- ClientBuildManager.cs
- SoapAttributeAttribute.cs
- TCPClient.cs
- IOThreadScheduler.cs
- MethodCallConverter.cs
- RetrieveVirtualItemEventArgs.cs
- FileClassifier.cs
- PropertyDescriptor.cs
- BrowserInteropHelper.cs
- SiteMapPath.cs
- SmiContextFactory.cs
- ApplicationActivator.cs
- CustomErrorCollection.cs
- DataServiceQueryOfT.cs
- BCryptNative.cs
- Int32Animation.cs
- UInt64.cs
- GuidTagList.cs
- SimpleWebHandlerParser.cs
- Pen.cs
- FigureParaClient.cs
- FileLoadException.cs
- DocumentOrderComparer.cs
- PropertyValueUIItem.cs
- XmlSignificantWhitespace.cs
- ListViewPagedDataSource.cs
- TypedDataSetSchemaImporterExtension.cs
- UnsafeNativeMethods.cs
- HtmlTitle.cs
- ToolboxComponentsCreatingEventArgs.cs
- TargetConverter.cs
- ObjectIDGenerator.cs
- CompilationRelaxations.cs
- UnknownBitmapDecoder.cs
- MissingMethodException.cs