Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Security / Cryptography / HMACSHA512.cs / 1 / 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. // // ==--== // // 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeAccessSecurityEngine.cs
- MultiPartWriter.cs
- RenderTargetBitmap.cs
- RemoteHelper.cs
- RegionIterator.cs
- SelectionManager.cs
- FactoryGenerator.cs
- Oid.cs
- GeneratedCodeAttribute.cs
- BStrWrapper.cs
- ParameterSubsegment.cs
- WindowsRichEditRange.cs
- VariantWrapper.cs
- TracePayload.cs
- FontNamesConverter.cs
- XmlSchemaSubstitutionGroup.cs
- XmlWriterTraceListener.cs
- QueryInterceptorAttribute.cs
- LiteralTextContainerControlBuilder.cs
- XmlTextReaderImplHelpers.cs
- Cursors.cs
- BitmapDownload.cs
- MenuStrip.cs
- CommandDevice.cs
- HttpProfileGroupBase.cs
- LinqDataSourceContextData.cs
- ConfigXmlElement.cs
- path.cs
- CommentAction.cs
- FolderBrowserDialogDesigner.cs
- Calendar.cs
- IPipelineRuntime.cs
- OrderToken.cs
- FileDialogCustomPlace.cs
- EditorBrowsableAttribute.cs
- NameObjectCollectionBase.cs
- ScriptResourceAttribute.cs
- HttpPostedFile.cs
- InvokePattern.cs
- CalendarTable.cs
- PresentationTraceSources.cs
- ProtocolImporter.cs
- SoundPlayerAction.cs
- DefaultParameterValueAttribute.cs
- ListViewItem.cs
- Models.cs
- DataControlCommands.cs
- XmlHierarchicalDataSourceView.cs
- ExportOptions.cs
- ActivityExecutorSurrogate.cs
- Binding.cs
- SymDocumentType.cs
- BackoffTimeoutHelper.cs
- WriteableBitmap.cs
- TableLayoutPanel.cs
- ObjectDataSourceMethodEditor.cs
- SystemDropShadowChrome.cs
- DateTimeAutomationPeer.cs
- RuleProcessor.cs
- LinqToSqlWrapper.cs
- StrokeNodeOperations.cs
- GlobalProxySelection.cs
- DesignerCalendarAdapter.cs
- OrderingExpression.cs
- DivideByZeroException.cs
- TransportContext.cs
- ContentElementAutomationPeer.cs
- CorrelationKeyCalculator.cs
- RestHandlerFactory.cs
- EntitySqlQueryCacheEntry.cs
- IPAddress.cs
- SqlFileStream.cs
- columnmapkeybuilder.cs
- HttpCacheVaryByContentEncodings.cs
- PostBackTrigger.cs
- VerificationException.cs
- SqlCacheDependencyDatabase.cs
- AccessibilityHelperForVista.cs
- ISAPIRuntime.cs
- ValidatorCollection.cs
- SolidBrush.cs
- SessionStateSection.cs
- ListBoxItemAutomationPeer.cs
- SqlTriggerAttribute.cs
- RequestStatusBarUpdateEventArgs.cs
- EntityConnection.cs
- DesignerLoader.cs
- DataTemplate.cs
- DataControlImageButton.cs
- SmtpException.cs
- DESCryptoServiceProvider.cs
- DataRowCollection.cs
- UnionExpr.cs
- FixedSOMPageElement.cs
- XamlDesignerSerializationManager.cs
- AutomationFocusChangedEventArgs.cs
- XmlC14NWriter.cs
- EDesignUtil.cs
- _DisconnectOverlappedAsyncResult.cs
- SafeNativeMethods.cs