Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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); } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CheckedPointers.cs
- DesignBindingEditor.cs
- ContentDisposition.cs
- IssuanceTokenProviderBase.cs
- ContextStack.cs
- DecoratedNameAttribute.cs
- CodePropertyReferenceExpression.cs
- Point3D.cs
- TopClause.cs
- SecurityManager.cs
- ToolboxBitmapAttribute.cs
- ArcSegment.cs
- TypeUsageBuilder.cs
- Vector.cs
- SetterBase.cs
- SharedStream.cs
- RequestBringIntoViewEventArgs.cs
- SystemIcons.cs
- WebPartMenu.cs
- XPathPatternBuilder.cs
- ErrorInfoXmlDocument.cs
- Application.cs
- ParseElementCollection.cs
- XmlSchemaSimpleContentExtension.cs
- PenThreadPool.cs
- XmlCountingReader.cs
- ColumnCollection.cs
- WebControlToolBoxItem.cs
- StorageConditionPropertyMapping.cs
- ResourceReferenceExpression.cs
- AppDomainShutdownMonitor.cs
- WindowsHyperlink.cs
- DataObjectAttribute.cs
- FrugalMap.cs
- HttpAsyncResult.cs
- RuleRefElement.cs
- CardSpaceShim.cs
- ComPlusTypeValidator.cs
- AssemblyResourceLoader.cs
- SynchronousSendBindingElement.cs
- WhitespaceRule.cs
- ItemsControl.cs
- CodeTypeReference.cs
- DataControlFieldCell.cs
- SignedPkcs7.cs
- WebPartsPersonalization.cs
- Rectangle.cs
- XamlDesignerSerializationManager.cs
- FileRecordSequenceHelper.cs
- FontFamilyConverter.cs
- xmlsaver.cs
- BooleanConverter.cs
- MatcherBuilder.cs
- CurrencyWrapper.cs
- BodyGlyph.cs
- PkcsUtils.cs
- Certificate.cs
- XmlSchemaElement.cs
- ClickablePoint.cs
- DrawListViewItemEventArgs.cs
- FormViewDeleteEventArgs.cs
- Exceptions.cs
- ApplicationSettingsBase.cs
- RichTextBox.cs
- LogStream.cs
- DataControlPagerLinkButton.cs
- DefaultTextStoreTextComposition.cs
- Journal.cs
- XsdDuration.cs
- OutputCacheProfile.cs
- DataGridItem.cs
- AffineTransform3D.cs
- DataBindingCollection.cs
- SQLDouble.cs
- SpotLight.cs
- RawStylusSystemGestureInputReport.cs
- ZipFileInfo.cs
- DrawingImage.cs
- OdbcConnectionPoolProviderInfo.cs
- AtlasWeb.Designer.cs
- Listener.cs
- IpcClientChannel.cs
- HtmlInputSubmit.cs
- InternalBufferManager.cs
- SQLChars.cs
- GeneralTransform3DTo2D.cs
- VersionPair.cs
- XmlNavigatorStack.cs
- IntMinMaxAggregationOperator.cs
- TypeInformation.cs
- URIFormatException.cs
- BitmapImage.cs
- WindowsHyperlink.cs
- DbRetry.cs
- GZipDecoder.cs
- ServiceInstallComponent.cs
- Parallel.cs
- LexicalChunk.cs
- TextChange.cs
- EnumConverter.cs