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
- AccessDataSourceDesigner.cs
- _BufferOffsetSize.cs
- DisplayNameAttribute.cs
- TemplateEditingService.cs
- BamlRecordWriter.cs
- WindowsProgressbar.cs
- IInstanceTable.cs
- Symbol.cs
- UriTemplateEquivalenceComparer.cs
- MemoryMappedViewStream.cs
- XmlCharCheckingWriter.cs
- RegionIterator.cs
- CodeMethodMap.cs
- CryptoApi.cs
- RenderOptions.cs
- VersionValidator.cs
- PersonalizationProviderCollection.cs
- OutputWindow.cs
- AsyncCompletedEventArgs.cs
- ChangeDirector.cs
- XmlSchemaAttributeGroupRef.cs
- WebBrowserUriTypeConverter.cs
- BroadcastEventHelper.cs
- TaskCanceledException.cs
- ExpressionPrefixAttribute.cs
- GridViewUpdateEventArgs.cs
- WindowsTitleBar.cs
- Vector3DAnimationBase.cs
- PixelFormatConverter.cs
- WebControlsSection.cs
- CanExecuteRoutedEventArgs.cs
- CustomValidator.cs
- HMACSHA1.cs
- CorrelationActionMessageFilter.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- SendMailErrorEventArgs.cs
- HtmlInputCheckBox.cs
- NamespaceEmitter.cs
- Substitution.cs
- xmlsaver.cs
- ComboBox.cs
- PlatformNotSupportedException.cs
- Geometry3D.cs
- XXXInfos.cs
- HtmlInputRadioButton.cs
- LocalFileSettingsProvider.cs
- XPathNodeInfoAtom.cs
- ProcessHostServerConfig.cs
- AutomationIdentifierGuids.cs
- XsltInput.cs
- DataContractSet.cs
- CodeAssignStatement.cs
- TextTreeInsertElementUndoUnit.cs
- XsltOutput.cs
- DataColumnMappingCollection.cs
- WebAdminConfigurationHelper.cs
- RSAOAEPKeyExchangeFormatter.cs
- SectionInput.cs
- KeyPressEvent.cs
- DateTimeConverter2.cs
- TypeAccessException.cs
- TrustSection.cs
- TextSearch.cs
- OutputChannel.cs
- FrameworkContextData.cs
- DetailsViewCommandEventArgs.cs
- SecurityAlgorithmSuiteConverter.cs
- SHA1CryptoServiceProvider.cs
- NoClickablePointException.cs
- XmlSchemaChoice.cs
- RecommendedAsConfigurableAttribute.cs
- RemotingSurrogateSelector.cs
- ButtonFieldBase.cs
- TextLineBreak.cs
- ExceptionUtil.cs
- CompositeActivityCodeGenerator.cs
- SqlHelper.cs
- Form.cs
- XmlRootAttribute.cs
- ColumnMapTranslator.cs
- Cursors.cs
- StringCollection.cs
- ScrollBar.cs
- XsltSettings.cs
- SchemaImporterExtensionElementCollection.cs
- HttpConfigurationContext.cs
- ContentHostHelper.cs
- HttpContext.cs
- ContentValidator.cs
- PingOptions.cs
- Decimal.cs
- WrappingXamlSchemaContext.cs
- BamlStream.cs
- WebPartTracker.cs
- ElementFactory.cs
- RegionData.cs
- InputLanguageProfileNotifySink.cs
- TypefaceCollection.cs
- NumberFormatInfo.cs
- XPathNodePointer.cs