Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / Security / Cryptography / HMACSHA512.cs / 5 / 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. // // ==--== // // 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ComboBox.cs
- DataGridViewCellFormattingEventArgs.cs
- CopyCodeAction.cs
- ParseHttpDate.cs
- WmlListAdapter.cs
- RegisteredDisposeScript.cs
- HwndMouseInputProvider.cs
- DataKey.cs
- RegexCompiler.cs
- SystemIPAddressInformation.cs
- CellQuery.cs
- WindowsListViewItemCheckBox.cs
- DataSysAttribute.cs
- StringUtil.cs
- XmlnsDictionary.cs
- ExpressionBuilder.cs
- CompilerState.cs
- StreamProxy.cs
- FacetDescription.cs
- SemanticAnalyzer.cs
- unitconverter.cs
- ViewStateModeByIdAttribute.cs
- DynamicObject.cs
- BevelBitmapEffect.cs
- PassportPrincipal.cs
- IndicFontClient.cs
- UpdateException.cs
- PaginationProgressEventArgs.cs
- MeshGeometry3D.cs
- TransformationRules.cs
- PublisherMembershipCondition.cs
- ExpressionNormalizer.cs
- ReverseInheritProperty.cs
- GenericAuthenticationEventArgs.cs
- Encoder.cs
- DatatypeImplementation.cs
- DbXmlEnabledProviderManifest.cs
- ThreadStateException.cs
- DataGridToolTip.cs
- TypeLibraryHelper.cs
- AdornerDecorator.cs
- OleDbSchemaGuid.cs
- IIS7WorkerRequest.cs
- TypeDefinition.cs
- HttpConfigurationSystem.cs
- CompModSwitches.cs
- _AcceptOverlappedAsyncResult.cs
- IisTraceListener.cs
- XmlSchemaIdentityConstraint.cs
- ConnectionStringsExpressionEditor.cs
- Stackframe.cs
- ConsumerConnectionPoint.cs
- MediaPlayer.cs
- ObjectStateFormatter.cs
- columnmapfactory.cs
- TextContainerHelper.cs
- UpdatePanelTriggerCollection.cs
- BehaviorDragDropEventArgs.cs
- PositiveTimeSpanValidator.cs
- Metadata.cs
- DefaultBindingPropertyAttribute.cs
- DefaultAuthorizationContext.cs
- SchemaTableOptionalColumn.cs
- Attribute.cs
- XmlSchemaAttributeGroup.cs
- DataTableTypeConverter.cs
- ITreeGenerator.cs
- SqlConnectionPoolGroupProviderInfo.cs
- CompositeScriptReference.cs
- UnsignedPublishLicense.cs
- CqlParser.cs
- DesignOnlyAttribute.cs
- TemplateKey.cs
- RtfToken.cs
- DataPager.cs
- CodeRegionDirective.cs
- UnsupportedPolicyOptionsException.cs
- AstTree.cs
- WorkflowDefinitionContext.cs
- CollectionViewProxy.cs
- Vector3D.cs
- Grant.cs
- AQNBuilder.cs
- UnsafeNativeMethods.cs
- JsonFormatGeneratorStatics.cs
- Pkcs9Attribute.cs
- StyleCollection.cs
- SecurityContextSecurityTokenResolver.cs
- RenamedEventArgs.cs
- ServiceHost.cs
- OdbcCommand.cs
- FloaterParaClient.cs
- HttpDebugHandler.cs
- SelectionEditor.cs
- SHA512Managed.cs
- Control.cs
- XsdValidatingReader.cs
- ToolStripLocationCancelEventArgs.cs
- DataGridDesigner.cs
- StyleSelector.cs