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
- FromReply.cs
- DataSvcMapFileSerializer.cs
- SQLString.cs
- SerializationSectionGroup.cs
- ClientSettingsProvider.cs
- OdbcParameterCollection.cs
- KeyedHashAlgorithm.cs
- CriticalExceptions.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- DataRow.cs
- PropertyToken.cs
- ServiceOperationParameter.cs
- UrlMappingsModule.cs
- ButtonRenderer.cs
- ConfigurationSectionCollection.cs
- DesignerAttribute.cs
- BaseDataList.cs
- CommittableTransaction.cs
- StorageEntityTypeMapping.cs
- SignedInfo.cs
- StorageComplexTypeMapping.cs
- HyperLinkStyle.cs
- TextChange.cs
- FileAuthorizationModule.cs
- SQLDecimalStorage.cs
- ButtonBase.cs
- WindowsSpinner.cs
- IsolatedStorageFilePermission.cs
- SafeEventLogWriteHandle.cs
- EventLevel.cs
- QueryableFilterUserControl.cs
- InputBinding.cs
- DetailsViewPageEventArgs.cs
- ScriptDescriptor.cs
- LogReserveAndAppendState.cs
- ObjectQueryExecutionPlan.cs
- RealProxy.cs
- SerialErrors.cs
- MaterialCollection.cs
- DecoderBestFitFallback.cs
- TagElement.cs
- DataObjectMethodAttribute.cs
- PersonalizationStateInfo.cs
- ManipulationVelocities.cs
- LongSumAggregationOperator.cs
- TrackingProfileDeserializationException.cs
- CodeDomLocalizationProvider.cs
- _ShellExpression.cs
- VerificationAttribute.cs
- LinqDataSourceSelectEventArgs.cs
- DocumentReferenceCollection.cs
- ValidatorCollection.cs
- TimelineGroup.cs
- EntitySqlException.cs
- Registry.cs
- InternalTypeHelper.cs
- XmlChildNodes.cs
- DataGridViewBand.cs
- DataIdProcessor.cs
- InlinedAggregationOperator.cs
- ModelPropertyCollectionImpl.cs
- ListBoxItemAutomationPeer.cs
- ExtensionMethods.cs
- ParallelQuery.cs
- SiteMapDataSource.cs
- CommandSet.cs
- QueryResponse.cs
- OptimalBreakSession.cs
- ElementMarkupObject.cs
- GridViewCancelEditEventArgs.cs
- RightsManagementEncryptionTransform.cs
- X509Chain.cs
- StyleCollection.cs
- StrokeCollectionDefaultValueFactory.cs
- XsdDateTime.cs
- TableLayoutPanel.cs
- Parameter.cs
- MessageContractImporter.cs
- UnsettableComboBox.cs
- IconHelper.cs
- OdbcFactory.cs
- SemaphoreFullException.cs
- DefaultBindingPropertyAttribute.cs
- DataBindingHandlerAttribute.cs
- SqlRowUpdatingEvent.cs
- basenumberconverter.cs
- Environment.cs
- SoapSchemaExporter.cs
- OrderByBuilder.cs
- TextWriterTraceListener.cs
- PropertyPath.cs
- ListViewItemEventArgs.cs
- Vector3DCollectionConverter.cs
- EditingScope.cs
- TransformGroup.cs
- InvokeCompletedEventArgs.cs
- VirtualPathProvider.cs
- CompilationUtil.cs
- MailAddress.cs
- SHA384.cs