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
- TokenizerHelper.cs
- SqlFacetAttribute.cs
- SchemaNames.cs
- Currency.cs
- XmlWriterDelegator.cs
- PersonalizationState.cs
- EmptyImpersonationContext.cs
- FormViewInsertEventArgs.cs
- TerminateDesigner.cs
- Subset.cs
- PublisherIdentityPermission.cs
- WebBrowserNavigatedEventHandler.cs
- ScrollChrome.cs
- Peer.cs
- ADConnectionHelper.cs
- MultiView.cs
- XPathQueryGenerator.cs
- ConfigXmlText.cs
- linebase.cs
- GACIdentityPermission.cs
- future.cs
- CommentEmitter.cs
- SID.cs
- GuidConverter.cs
- Image.cs
- DataGridView.cs
- ImplicitInputBrush.cs
- _NestedMultipleAsyncResult.cs
- ListViewPagedDataSource.cs
- DBCSCodePageEncoding.cs
- Stylesheet.cs
- DecoderExceptionFallback.cs
- IgnoreSectionHandler.cs
- datacache.cs
- FormatVersion.cs
- listitem.cs
- WindowsAuthenticationEventArgs.cs
- IOException.cs
- SwitchAttribute.cs
- XmlAttributeProperties.cs
- ProcessHostServerConfig.cs
- LinkLabelLinkClickedEvent.cs
- HandleRef.cs
- AssemblyContextControlItem.cs
- ImpersonationContext.cs
- ADMembershipUser.cs
- WebPartEditVerb.cs
- ViewEventArgs.cs
- Message.cs
- DataBindingHandlerAttribute.cs
- DBCommand.cs
- WebPartConnection.cs
- WindowsIPAddress.cs
- ArrayTypeMismatchException.cs
- RelationshipConstraintValidator.cs
- JsonCollectionDataContract.cs
- LinqDataSourceEditData.cs
- VectorAnimation.cs
- ProcessModelSection.cs
- AppSettingsReader.cs
- ListBoxAutomationPeer.cs
- HttpResponse.cs
- GPPOINTF.cs
- DetailsViewPageEventArgs.cs
- ServiceMoniker.cs
- util.cs
- LogManagementAsyncResult.cs
- EventLogPermission.cs
- Comparer.cs
- XmlDomTextWriter.cs
- OleDbRowUpdatedEvent.cs
- AssemblyFilter.cs
- ValidationRuleCollection.cs
- CacheMode.cs
- HtmlTitle.cs
- CaseStatement.cs
- ObjectDataSourceStatusEventArgs.cs
- GridViewHeaderRowPresenter.cs
- ActivityXamlServices.cs
- HashSetEqualityComparer.cs
- DataBindingExpressionBuilder.cs
- ControlPaint.cs
- ZipPackage.cs
- AppDomainProtocolHandler.cs
- DataSourceHelper.cs
- XmlBoundElement.cs
- XmlSchemaComplexContentExtension.cs
- TileBrush.cs
- BaseTemplateParser.cs
- DesignerOptions.cs
- FixedTextPointer.cs
- OracleNumber.cs
- TreeNodeBindingCollection.cs
- JsonReaderDelegator.cs
- ContextStack.cs
- AppDomainFactory.cs
- ScopedMessagePartSpecification.cs
- LogAppendAsyncResult.cs
- RangeValuePattern.cs
- IndexedGlyphRun.cs