Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / Security / Cryptography / HMACSHA512.cs / 1 / 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
- ParamArrayAttribute.cs
- CommandID.cs
- JsonReader.cs
- ConfigXmlWhitespace.cs
- SafeLocalMemHandle.cs
- CopyNamespacesAction.cs
- ExpressionBindingCollection.cs
- StandardToolWindows.cs
- ConsoleTraceListener.cs
- RequestCacheEntry.cs
- WebConfigurationFileMap.cs
- MetadataArtifactLoaderCompositeFile.cs
- Margins.cs
- TTSVoice.cs
- SpoolingTaskBase.cs
- IssuanceTokenProviderState.cs
- Wow64ConfigurationLoader.cs
- SignatureResourceHelper.cs
- FileStream.cs
- XmlnsCache.cs
- ExpressionBindings.cs
- validation.cs
- StateManagedCollection.cs
- OrderByBuilder.cs
- ImageDesigner.cs
- DesignerTransactionCloseEvent.cs
- SafeProcessHandle.cs
- GridViewColumnCollectionChangedEventArgs.cs
- HostingEnvironmentException.cs
- DbConnectionOptions.cs
- DBConnectionString.cs
- IdentityManager.cs
- Stackframe.cs
- MailHeaderInfo.cs
- ImageCodecInfo.cs
- SetMemberBinder.cs
- ConsoleEntryPoint.cs
- UnionCodeGroup.cs
- Transform.cs
- DispatcherHooks.cs
- SystemTcpConnection.cs
- WebPartCatalogCloseVerb.cs
- BlurBitmapEffect.cs
- CallContext.cs
- ValidatedMobileControlConverter.cs
- TextAction.cs
- BitmapEffectOutputConnector.cs
- DocumentPaginator.cs
- Int32Storage.cs
- SqlCrossApplyToCrossJoin.cs
- PersonalizationProviderHelper.cs
- TCEAdapterGenerator.cs
- AnimatedTypeHelpers.cs
- CapabilitiesAssignment.cs
- FtpWebRequest.cs
- DiscreteKeyFrames.cs
- CodeAttributeArgumentCollection.cs
- ObjectSet.cs
- FormClosedEvent.cs
- XmlDataSourceNodeDescriptor.cs
- AdjustableArrowCap.cs
- SystemKeyConverter.cs
- xml.cs
- TPLETWProvider.cs
- ComPlusDiagnosticTraceRecords.cs
- TypeUnloadedException.cs
- SamlConditions.cs
- Vector3DIndependentAnimationStorage.cs
- CalendarData.cs
- StyleCollection.cs
- FileDialog.cs
- RadioButtonList.cs
- Psha1DerivedKeyGeneratorHelper.cs
- ContentFilePart.cs
- AsymmetricAlgorithm.cs
- AttachedPropertyBrowsableAttribute.cs
- Converter.cs
- OpCodes.cs
- AssemblyResourceLoader.cs
- FlowPanelDesigner.cs
- DesignerAutoFormatCollection.cs
- SelectionEditor.cs
- AddDataControlFieldDialog.cs
- WebConfigurationManager.cs
- documentsequencetextcontainer.cs
- WebPartDeleteVerb.cs
- ControlPropertyNameConverter.cs
- InheritablePropertyChangeInfo.cs
- SrgsDocumentParser.cs
- CodeDelegateInvokeExpression.cs
- SetUserLanguageRequest.cs
- ActivityTrace.cs
- Command.cs
- Typeface.cs
- KnownBoxes.cs
- DataSourceView.cs
- _AuthenticationState.cs
- DataObjectEventArgs.cs
- NetDataContractSerializer.cs
- TreeNodeClickEventArgs.cs