Code:
/ FX-1434 / FX-1434 / 1.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
- RowToParametersTransformer.cs
- DeclarationUpdate.cs
- Tile.cs
- Model3D.cs
- SecurityElementBase.cs
- SupportingTokenParameters.cs
- dbenumerator.cs
- BindingValueChangedEventArgs.cs
- SystemInfo.cs
- RegisterInfo.cs
- MessageQueuePermissionEntry.cs
- XmlNode.cs
- DbProviderSpecificTypePropertyAttribute.cs
- SrgsOneOf.cs
- PageEventArgs.cs
- CodeGenerator.cs
- BeginSelectCardRequest.cs
- _CacheStreams.cs
- _NegoState.cs
- TreeNodeCollection.cs
- PropertyGroupDescription.cs
- RegistryDataKey.cs
- XmlRawWriterWrapper.cs
- ScaleTransform.cs
- PluralizationService.cs
- HtmlSelect.cs
- NetworkStream.cs
- ServicePerformanceCounters.cs
- StatusBarDrawItemEvent.cs
- EmissiveMaterial.cs
- dtdvalidator.cs
- ServiceTimeoutsElement.cs
- UserNameSecurityToken.cs
- IConvertible.cs
- PersonalizationProvider.cs
- GeneralTransform2DTo3D.cs
- MediaContext.cs
- TemplatedWizardStep.cs
- ExplicitDiscriminatorMap.cs
- BitmapFrameDecode.cs
- TextDecoration.cs
- WmlCommandAdapter.cs
- LogLogRecordHeader.cs
- VolatileEnlistmentMultiplexing.cs
- DetailsViewDeletedEventArgs.cs
- DataControlPagerLinkButton.cs
- TdsParserStateObject.cs
- CompilationSection.cs
- Int64KeyFrameCollection.cs
- AppDomainAttributes.cs
- _DisconnectOverlappedAsyncResult.cs
- Ray3DHitTestResult.cs
- ControlHelper.cs
- BaseHashHelper.cs
- ActivitySurrogate.cs
- AlignmentYValidation.cs
- DataGridViewRowPrePaintEventArgs.cs
- AssemblyContextControlItem.cs
- DoubleAverageAggregationOperator.cs
- SecuritySessionClientSettings.cs
- XmlSchemaComplexContentRestriction.cs
- BuiltInPermissionSets.cs
- WebPartVerbsEventArgs.cs
- LoadRetryStrategyFactory.cs
- DBSqlParser.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- EventToken.cs
- StylusPointCollection.cs
- ToolStripItemClickedEventArgs.cs
- Handle.cs
- BindingMAnagerBase.cs
- ActivationServices.cs
- DirectionalAction.cs
- CreateUserWizard.cs
- SystemParameters.cs
- DataTableReaderListener.cs
- StructuralType.cs
- UserMapPath.cs
- HighlightComponent.cs
- Validator.cs
- Point3DKeyFrameCollection.cs
- HttpHandlerActionCollection.cs
- PermissionAttributes.cs
- ReturnEventArgs.cs
- DataGridColumnCollection.cs
- XmlSchemaObject.cs
- ValidateNames.cs
- RegexStringValidator.cs
- DecryptRequest.cs
- DataBindingExpressionBuilder.cs
- ParallelForEach.cs
- ExpressionVisitor.cs
- KeyValueConfigurationCollection.cs
- SystemFonts.cs
- NotSupportedException.cs
- Unit.cs
- DesignTimeHTMLTextWriter.cs
- InputQueueChannelAcceptor.cs
- DbConnectionPool.cs
- _AutoWebProxyScriptEngine.cs