Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / HMACSHA512.cs / 1305376 / 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)) {} [System.Security.SecuritySafeCritical] // auto-generated public HMACSHA512 (byte[] key) { 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. /// 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
- BindStream.cs
- ContextItemManager.cs
- AssemblyContextControlItem.cs
- HttpCapabilitiesEvaluator.cs
- EntityDataSourceState.cs
- InvokeCompletedEventArgs.cs
- ClientSideProviderDescription.cs
- DoubleAnimationUsingPath.cs
- OleStrCAMarshaler.cs
- GroupQuery.cs
- OdbcParameter.cs
- ZipIOBlockManager.cs
- ConnectionManagementElementCollection.cs
- BezierSegment.cs
- DataQuery.cs
- DictionarySurrogate.cs
- PageAsyncTaskManager.cs
- RoutingExtensionElement.cs
- TextSelectionProcessor.cs
- CodeAttributeArgument.cs
- XmlCharCheckingWriter.cs
- ChannelFactoryBase.cs
- EntityConnection.cs
- CookieParameter.cs
- XmlSerializableWriter.cs
- AssemblyResourceLoader.cs
- Ops.cs
- ToolStripOverflow.cs
- DbDeleteCommandTree.cs
- RequestValidator.cs
- unsafenativemethodstextservices.cs
- XamlSerializationHelper.cs
- SynchronizingStream.cs
- XmlWrappingReader.cs
- SortExpressionBuilder.cs
- ScriptingJsonSerializationSection.cs
- BinaryWriter.cs
- XmlnsCache.cs
- WebPartConnectVerb.cs
- BinaryObjectInfo.cs
- SvcFileManager.cs
- ISFTagAndGuidCache.cs
- CommonXSendMessage.cs
- Int16.cs
- ResizingMessageFilter.cs
- WebPartRestoreVerb.cs
- ObjectAnimationUsingKeyFrames.cs
- SingletonChannelAcceptor.cs
- InstancePersistenceException.cs
- TemplateInstanceAttribute.cs
- GenericsInstances.cs
- ComponentFactoryHelpers.cs
- ListViewGroupConverter.cs
- TextEditorCopyPaste.cs
- NaturalLanguageHyphenator.cs
- QuaternionKeyFrameCollection.cs
- UnSafeCharBuffer.cs
- StrokeCollection.cs
- DebugView.cs
- NativeMethods.cs
- PointUtil.cs
- EncoderNLS.cs
- Operator.cs
- XmlIncludeAttribute.cs
- XXXOnTypeBuilderInstantiation.cs
- HttpRequest.cs
- Effect.cs
- RequestCacheManager.cs
- CollectionBase.cs
- DiscoveryMessageSequenceCD1.cs
- RoleManagerSection.cs
- XsltLibrary.cs
- PageContentAsyncResult.cs
- MenuItemAutomationPeer.cs
- MessageSecurityOverMsmq.cs
- VScrollBar.cs
- LowerCaseStringConverter.cs
- RowBinding.cs
- SqlBuilder.cs
- EntityDescriptor.cs
- FormsAuthenticationTicket.cs
- CngKey.cs
- SR.Designer.cs
- SynthesizerStateChangedEventArgs.cs
- EntityDataSource.cs
- CreateUserErrorEventArgs.cs
- PowerModeChangedEventArgs.cs
- StackOverflowException.cs
- RuntimeDelegateArgument.cs
- SchemaCollectionPreprocessor.cs
- PrintEvent.cs
- Pen.cs
- XmlQualifiedName.cs
- MarginCollapsingState.cs
- CompiledIdentityConstraint.cs
- ZipIOCentralDirectoryBlock.cs
- FlowLayout.cs
- UntypedNullExpression.cs
- SelectionRange.cs
- FixedFindEngine.cs