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
- BmpBitmapDecoder.cs
- Substitution.cs
- MexNamedPipeBindingCollectionElement.cs
- XmlComment.cs
- SiteMapDataSourceView.cs
- DataServiceHostFactory.cs
- RadioButton.cs
- TableDetailsCollection.cs
- SHA512.cs
- AccessedThroughPropertyAttribute.cs
- Pair.cs
- InkCanvasSelection.cs
- SafeArrayRankMismatchException.cs
- ResourceExpressionBuilder.cs
- CustomLineCap.cs
- sortedlist.cs
- MatrixTransform.cs
- XmlExpressionDumper.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ByteStreamMessageUtility.cs
- MailSettingsSection.cs
- LayoutExceptionEventArgs.cs
- HandleRef.cs
- DataGridTablesFactory.cs
- TextBoxBaseDesigner.cs
- SqlDataReader.cs
- Button.cs
- SamlAssertion.cs
- EasingKeyFrames.cs
- OleAutBinder.cs
- NameValueConfigurationElement.cs
- KeyedCollection.cs
- PersistenceTypeAttribute.cs
- _WebProxyDataBuilder.cs
- VisualProxy.cs
- DocumentSequence.cs
- AutoResetEvent.cs
- FileRecordSequenceHelper.cs
- OracleConnection.cs
- XPathMultyIterator.cs
- TextEditorCharacters.cs
- ConstructorArgumentAttribute.cs
- ToolStripDropTargetManager.cs
- SqlTrackingQuery.cs
- PeerMaintainer.cs
- GridItemPattern.cs
- NamedObject.cs
- ObjectSet.cs
- columnmapfactory.cs
- StatusBar.cs
- FormsAuthentication.cs
- DbProviderSpecificTypePropertyAttribute.cs
- WinInetCache.cs
- ReadOnlyAttribute.cs
- TextRange.cs
- HtmlUtf8RawTextWriter.cs
- DataSysAttribute.cs
- SocketElement.cs
- HMAC.cs
- HostedNamedPipeTransportManager.cs
- ConfigurationException.cs
- DataGridViewComboBoxCell.cs
- SoapElementAttribute.cs
- ChtmlLinkAdapter.cs
- AssemblyBuilder.cs
- CustomCategoryAttribute.cs
- ProfileEventArgs.cs
- SqlTypesSchemaImporter.cs
- CodeStatement.cs
- SecurityException.cs
- SpeakProgressEventArgs.cs
- IxmlLineInfo.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- Point3DCollection.cs
- ColorConvertedBitmap.cs
- NativeObjectSecurity.cs
- EqualityComparer.cs
- TrustLevelCollection.cs
- DetailsViewDesigner.cs
- SynchronizationFilter.cs
- SplitterPanel.cs
- FlowSwitch.cs
- ShaderEffect.cs
- UInt32Storage.cs
- FormViewDeleteEventArgs.cs
- ArglessEventHandlerProxy.cs
- ToolStripRenderEventArgs.cs
- BasePattern.cs
- StringPropertyBuilder.cs
- BaseInfoTable.cs
- ItemDragEvent.cs
- QilChoice.cs
- EpmCustomContentSerializer.cs
- ClipboardProcessor.cs
- UnauthorizedWebPart.cs
- dbdatarecord.cs
- PageAsyncTaskManager.cs
- SystemNetHelpers.cs
- AddInContractAttribute.cs
- Composition.cs