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
- MimeParameter.cs
- TypedElement.cs
- DebugView.cs
- VarRefManager.cs
- UnsafeNativeMethods.cs
- UserInitiatedRoutedEventPermission.cs
- ViewLoader.cs
- DtrList.cs
- DataGridColumn.cs
- DataTrigger.cs
- QueryMatcher.cs
- ToolStripDropDownClosedEventArgs.cs
- ContentElement.cs
- SqlParameter.cs
- TouchPoint.cs
- ActivityCodeGenerator.cs
- Cloud.cs
- HtmlToClrEventProxy.cs
- FrameworkElementAutomationPeer.cs
- QueryStack.cs
- XamlNamespaceHelper.cs
- MachineKeySection.cs
- NetCodeGroup.cs
- FeedUtils.cs
- BulletedList.cs
- TextBox.cs
- MemoryStream.cs
- SystemPens.cs
- Collection.cs
- ParseElement.cs
- TableRow.cs
- PersianCalendar.cs
- UserNamePasswordServiceCredential.cs
- SubclassTypeValidator.cs
- Duration.cs
- PackWebRequest.cs
- TabOrder.cs
- HelpEvent.cs
- PageCodeDomTreeGenerator.cs
- PrimaryKeyTypeConverter.cs
- XmlSchemaSimpleContentRestriction.cs
- recordstatescratchpad.cs
- SizeChangedInfo.cs
- QilStrConcatenator.cs
- FtpCachePolicyElement.cs
- BufferedMessageWriter.cs
- TaskSchedulerException.cs
- CustomTypeDescriptor.cs
- CompilationLock.cs
- DecimalKeyFrameCollection.cs
- TraceSwitch.cs
- UrlMappingsModule.cs
- PersistenceTypeAttribute.cs
- HuffModule.cs
- WhileDesigner.xaml.cs
- DataObject.cs
- EnumMemberAttribute.cs
- CodeCastExpression.cs
- HealthMonitoringSectionHelper.cs
- MethodBuilder.cs
- WindowsBrush.cs
- TextParagraphProperties.cs
- ActionFrame.cs
- PropertyMappingExceptionEventArgs.cs
- DbConnectionPoolIdentity.cs
- ZipIORawDataFileBlock.cs
- GraphicsContext.cs
- CodeIndexerExpression.cs
- ChineseLunisolarCalendar.cs
- InitializationEventAttribute.cs
- RecognizedAudio.cs
- HTTPNotFoundHandler.cs
- wmiprovider.cs
- DockProviderWrapper.cs
- odbcmetadatacolumnnames.cs
- UInt64.cs
- HyperLinkDesigner.cs
- ProviderBase.cs
- OleDbErrorCollection.cs
- BehaviorEditorPart.cs
- EventLogger.cs
- InputEventArgs.cs
- FixedSOMTable.cs
- MetadataUtilsSmi.cs
- XmlEventCache.cs
- DataSysAttribute.cs
- StubHelpers.cs
- RefExpr.cs
- BrowserCapabilitiesFactoryBase.cs
- CalloutQueueItem.cs
- OrCondition.cs
- InputScope.cs
- AutomationProperties.cs
- DropTarget.cs
- CurrentChangedEventManager.cs
- XsltArgumentList.cs
- JpegBitmapEncoder.cs
- HtmlTableRow.cs
- HyperLinkStyle.cs
- TrustLevelCollection.cs