Code:
/ FX-1434 / FX-1434 / 1.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
- ClassicBorderDecorator.cs
- ResourceKey.cs
- CommandEventArgs.cs
- GradientStop.cs
- FontConverter.cs
- SiteMapNodeCollection.cs
- ControlPropertyNameConverter.cs
- ToolboxBitmapAttribute.cs
- ObjectResult.cs
- Context.cs
- CssClassPropertyAttribute.cs
- ExceptionUtil.cs
- AsyncCallback.cs
- TranslateTransform3D.cs
- AsyncOperationManager.cs
- MultiTrigger.cs
- GeometryHitTestResult.cs
- SoapExtensionTypeElementCollection.cs
- HandlerMappingMemo.cs
- XPathDocumentBuilder.cs
- AlphabeticalEnumConverter.cs
- IdentitySection.cs
- Tokenizer.cs
- StandardBindingOptionalReliableSessionElement.cs
- TextContainerChangeEventArgs.cs
- BaseHashHelper.cs
- EtwTrackingBehavior.cs
- DataGridColumnsPage.cs
- UpDownEvent.cs
- PolyLineSegmentFigureLogic.cs
- LayoutEditorPart.cs
- MenuItemCollectionEditor.cs
- BindingValueChangedEventArgs.cs
- BitmapEffectInput.cs
- DataTrigger.cs
- UInt64.cs
- DefinitionBase.cs
- SslStreamSecurityBindingElement.cs
- BindingExpressionUncommonField.cs
- DbConnectionStringBuilder.cs
- DropShadowEffect.cs
- LineGeometry.cs
- CookielessData.cs
- Util.cs
- RecordManager.cs
- EffectiveValueEntry.cs
- VisualStyleInformation.cs
- SyntaxCheck.cs
- ObservableCollection.cs
- Context.cs
- XmlSerializerVersionAttribute.cs
- StringDictionary.cs
- ClientType.cs
- JoinGraph.cs
- SignatureHelper.cs
- ReferenceEqualityComparer.cs
- BaseTemplateBuildProvider.cs
- ScrollBar.cs
- IdnElement.cs
- DefaultObjectMappingItemCollection.cs
- DesignerDataRelationship.cs
- And.cs
- HttpCachePolicy.cs
- Transactions.cs
- DataChangedEventManager.cs
- SiteMapNodeCollection.cs
- GenericUriParser.cs
- UnsafeNativeMethods.cs
- cookieexception.cs
- Style.cs
- CorePropertiesFilter.cs
- milexports.cs
- SvcMapFile.cs
- connectionpool.cs
- MessageDecoder.cs
- SafeProcessHandle.cs
- DetailsViewInsertedEventArgs.cs
- InvalidPropValue.cs
- ForceCopyBuildProvider.cs
- WsatProxy.cs
- SelectorAutomationPeer.cs
- SQLStringStorage.cs
- TakeOrSkipWhileQueryOperator.cs
- DataGridViewCellStyleChangedEventArgs.cs
- Debug.cs
- PrinterSettings.cs
- GestureRecognizer.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ListControlDataBindingHandler.cs
- Point3D.cs
- SymDocumentType.cs
- FileFormatException.cs
- GZipStream.cs
- ModelProperty.cs
- sapiproxy.cs
- CheckBoxStandardAdapter.cs
- GeneralTransform3DCollection.cs
- PaintEvent.cs
- ColorPalette.cs
- ExpandableObjectConverter.cs