Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InternalControlCollection.cs
- SpellerError.cs
- XMLDiffLoader.cs
- LinkConverter.cs
- SystemColors.cs
- ColumnMapCopier.cs
- TemplateContainer.cs
- PathFigureCollection.cs
- GACIdentityPermission.cs
- initElementDictionary.cs
- SQLDateTimeStorage.cs
- SmtpCommands.cs
- SimpleType.cs
- PageStatePersister.cs
- InternalEnumValidatorAttribute.cs
- CodeSnippetExpression.cs
- XmlSortKeyAccumulator.cs
- HostingEnvironment.cs
- CacheMemory.cs
- SyndicationDeserializer.cs
- WebServiceParameterData.cs
- CodeDOMUtility.cs
- ModelEditingScope.cs
- SessionState.cs
- LoginCancelEventArgs.cs
- loginstatus.cs
- EntityType.cs
- TypeDescriptionProvider.cs
- PolyQuadraticBezierSegment.cs
- CompModSwitches.cs
- OdbcCommand.cs
- ServiceBusyException.cs
- Matrix3D.cs
- TimeManager.cs
- ListManagerBindingsCollection.cs
- MatrixValueSerializer.cs
- DetailsViewCommandEventArgs.cs
- ComponentDispatcherThread.cs
- ToolStripSettings.cs
- tooltip.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- DbDataSourceEnumerator.cs
- Cursor.cs
- PrintDocument.cs
- SqlCommandBuilder.cs
- FieldAccessException.cs
- ErrorStyle.cs
- BrowserInteropHelper.cs
- AndCondition.cs
- ProgressBar.cs
- ListViewItem.cs
- PropertyChangedEventArgs.cs
- FormsAuthenticationUser.cs
- ParenthesizePropertyNameAttribute.cs
- HttpHeaderCollection.cs
- UIElement3DAutomationPeer.cs
- XmlAttributeCollection.cs
- GcHandle.cs
- Bits.cs
- RecordConverter.cs
- indexingfiltermarshaler.cs
- ViewService.cs
- WorkItem.cs
- ObjectViewEntityCollectionData.cs
- MetadataItem_Static.cs
- EventTask.cs
- TdsParserSessionPool.cs
- TextTrailingCharacterEllipsis.cs
- SQLBytesStorage.cs
- TextComposition.cs
- StructuralCache.cs
- OrderedEnumerableRowCollection.cs
- AtomServiceDocumentSerializer.cs
- RowParagraph.cs
- TypeGeneratedEventArgs.cs
- ILGenerator.cs
- FormsAuthenticationTicket.cs
- X509Utils.cs
- Block.cs
- HMACSHA256.cs
- SourceSwitch.cs
- DataObjectSettingDataEventArgs.cs
- Misc.cs
- HtmlLabelAdapter.cs
- SQLBytes.cs
- HttpApplication.cs
- XPathExpr.cs
- MediaPlayerState.cs
- BaseComponentEditor.cs
- SqlNotificationRequest.cs
- TableAutomationPeer.cs
- DebuggerService.cs
- GenericTransactionFlowAttribute.cs
- RSAOAEPKeyExchangeFormatter.cs
- AdornerLayer.cs
- DataGridViewBindingCompleteEventArgs.cs
- DoubleStorage.cs
- RedistVersionInfo.cs
- ToolStripDropDownItem.cs
- XLinq.cs