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
- ColumnResizeAdorner.cs
- DateTimeParse.cs
- GeometryGroup.cs
- SystemIcmpV6Statistics.cs
- DifferencingCollection.cs
- UxThemeWrapper.cs
- UserControlFileEditor.cs
- TableItemPattern.cs
- RandomNumberGenerator.cs
- TreeViewAutomationPeer.cs
- DataColumnCollection.cs
- SourceItem.cs
- HMAC.cs
- ExpressionEditorAttribute.cs
- WmlPageAdapter.cs
- SingleAnimation.cs
- TextFormatterImp.cs
- PropertyFilterAttribute.cs
- BaseDataList.cs
- Win32KeyboardDevice.cs
- Viewport3DVisual.cs
- PolicyReader.cs
- GroupBoxAutomationPeer.cs
- xsdvalidator.cs
- MessageQueuePermission.cs
- SyndicationDeserializer.cs
- FixUpCollection.cs
- ServiceHttpHandlerFactory.cs
- LinkDescriptor.cs
- EventEntry.cs
- DockPatternIdentifiers.cs
- BooleanConverter.cs
- NamespaceMapping.cs
- NumberFunctions.cs
- DocumentCollection.cs
- ViewCellRelation.cs
- MultiPartWriter.cs
- MetadataItemEmitter.cs
- FunctionNode.cs
- DbConnectionClosed.cs
- Qualifier.cs
- SolidBrush.cs
- DataGridViewSortCompareEventArgs.cs
- ToolStripDropDownClosedEventArgs.cs
- UInt64Storage.cs
- WebBrowserPermission.cs
- RecordConverter.cs
- COSERVERINFO.cs
- RepeaterItemEventArgs.cs
- ObjectResult.cs
- HijriCalendar.cs
- MultipartIdentifier.cs
- Soap.cs
- MediaContext.cs
- CollectionChangeEventArgs.cs
- FontWeight.cs
- TimelineGroup.cs
- XamlTypeMapper.cs
- TableLayoutStyleCollection.cs
- WindowsListViewSubItem.cs
- Constraint.cs
- ClientSideQueueItem.cs
- DetailsViewInsertedEventArgs.cs
- PolicyLevel.cs
- MaterialCollection.cs
- EventListener.cs
- ClientSettingsStore.cs
- DummyDataSource.cs
- KerberosTicketHashIdentifierClause.cs
- InternalDuplexChannelListener.cs
- DataGridItemAttachedStorage.cs
- StylusPointPropertyId.cs
- MenuItemCollection.cs
- IgnoreFlushAndCloseStream.cs
- webproxy.cs
- AlgoModule.cs
- AuthenticatedStream.cs
- Module.cs
- SizeF.cs
- SettingsPropertyIsReadOnlyException.cs
- HostingEnvironmentWrapper.cs
- TableCell.cs
- PDBReader.cs
- CollectionViewGroupInternal.cs
- SubclassTypeValidatorAttribute.cs
- XmlChildNodes.cs
- MappingSource.cs
- XhtmlBasicCalendarAdapter.cs
- LoadRetryConstantStrategy.cs
- EventArgs.cs
- TreeViewImageKeyConverter.cs
- EntityKey.cs
- Size3D.cs
- PreservationFileReader.cs
- ResourceLoader.cs
- OAVariantLib.cs
- CodeNamespace.cs
- ListBoxItemAutomationPeer.cs
- RectangleConverter.cs
- HtmlElementCollection.cs