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
- HeaderElement.cs
- StateMachine.cs
- FamilyMap.cs
- DataObjectCopyingEventArgs.cs
- WindowsFormsHelpers.cs
- PerspectiveCamera.cs
- TextStore.cs
- CodeSnippetTypeMember.cs
- SubstitutionList.cs
- InheritanceAttribute.cs
- DrawToolTipEventArgs.cs
- DateTimeUtil.cs
- HandleRef.cs
- MetadataItemEmitter.cs
- CodeSubDirectory.cs
- XmlCharCheckingReader.cs
- DataServiceHost.cs
- GetIndexBinder.cs
- FaultCallbackWrapper.cs
- BitStack.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- SqlServices.cs
- WebHttpSecurity.cs
- NamespaceMapping.cs
- DnsCache.cs
- CapacityStreamGeometryContext.cs
- Crypto.cs
- TextEditorTables.cs
- XmlMtomWriter.cs
- ConstructorNeedsTagAttribute.cs
- Model3D.cs
- XmlNode.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- SettingsAttributes.cs
- TraceListeners.cs
- SapiRecoContext.cs
- DataGridViewColumn.cs
- HebrewNumber.cs
- TableRowCollection.cs
- ItemsPresenter.cs
- WasEndpointConfigContainer.cs
- ExtensionFile.cs
- CaseInsensitiveComparer.cs
- DbXmlEnabledProviderManifest.cs
- WsdlServiceChannelBuilder.cs
- MatrixIndependentAnimationStorage.cs
- cookiecollection.cs
- BindingContext.cs
- PrintDocument.cs
- XmlNamespaceMappingCollection.cs
- FixUp.cs
- CancelEventArgs.cs
- RequestQueue.cs
- ISAPIApplicationHost.cs
- SoapExtension.cs
- DataProtection.cs
- ProtocolsInstallComponent.cs
- ReverseComparer.cs
- ChangeConflicts.cs
- PageWrapper.cs
- MdImport.cs
- ServiceDescriptions.cs
- SymbolMethod.cs
- ProfileInfo.cs
- Transform3DCollection.cs
- UriParserTemplates.cs
- Quad.cs
- DesignerFrame.cs
- TransactionValidationBehavior.cs
- TraceFilter.cs
- DiffuseMaterial.cs
- DataBindingCollectionEditor.cs
- objectquery_tresulttype.cs
- BitmapSource.cs
- BasePattern.cs
- FontUnitConverter.cs
- WorkflowServiceHost.cs
- DocumentSequence.cs
- CmsInterop.cs
- ShaderEffect.cs
- PermissionSetTriple.cs
- ToolStripPanelRenderEventArgs.cs
- NameScope.cs
- SupportsEventValidationAttribute.cs
- nulltextnavigator.cs
- OutArgumentConverter.cs
- TextWriter.cs
- XmlSignatureManifest.cs
- TabRenderer.cs
- FragmentNavigationEventArgs.cs
- BindingMemberInfo.cs
- ClientTargetCollection.cs
- MethodMessage.cs
- ParameterCollection.cs
- XmlIgnoreAttribute.cs
- EmbeddedMailObject.cs
- MulticastNotSupportedException.cs
- OdbcConnectionString.cs
- _ContextAwareResult.cs
- _ListenerAsyncResult.cs