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
- EtwTrace.cs
- SoapIgnoreAttribute.cs
- BitHelper.cs
- SignedInfo.cs
- C14NUtil.cs
- GridViewCommandEventArgs.cs
- EditorPartChrome.cs
- ReadOnlyDataSourceView.cs
- CredentialCache.cs
- ActionMessageFilter.cs
- NamedElement.cs
- ExpandCollapseProviderWrapper.cs
- Geometry3D.cs
- ConstructorNeedsTagAttribute.cs
- TextBoxRenderer.cs
- WebBrowserSiteBase.cs
- ContravarianceAdapter.cs
- DataRelationPropertyDescriptor.cs
- ImageConverter.cs
- UntrustedRecipientException.cs
- ImageMapEventArgs.cs
- precedingsibling.cs
- BaseTemplateBuildProvider.cs
- HttpConfigurationSystem.cs
- EntityDataSourceDesignerHelper.cs
- NotifyParentPropertyAttribute.cs
- Bitmap.cs
- ExecutedRoutedEventArgs.cs
- ColumnResizeAdorner.cs
- EventLogConfiguration.cs
- ImageDrawing.cs
- DBSchemaTable.cs
- QueryAsyncResult.cs
- CrossAppDomainChannel.cs
- SystemPens.cs
- WebPartUserCapability.cs
- ConfigurationErrorsException.cs
- CompoundFileReference.cs
- DrawingServices.cs
- LayoutDump.cs
- Logging.cs
- XPathDescendantIterator.cs
- ActiveXSite.cs
- DiagnosticsElement.cs
- HttpServerUtilityWrapper.cs
- ThreadExceptionEvent.cs
- Grant.cs
- BlockCollection.cs
- AttachedProperty.cs
- Popup.cs
- SelectionWordBreaker.cs
- ArithmeticException.cs
- TextCharacters.cs
- ExtensionFile.cs
- TypeInfo.cs
- TrackingProfileDeserializationException.cs
- EditorZoneBase.cs
- ExceptionUtil.cs
- WebPartTransformerAttribute.cs
- PlatformNotSupportedException.cs
- ParameterInfo.cs
- PartitionResolver.cs
- RequestStatusBarUpdateEventArgs.cs
- RSACryptoServiceProvider.cs
- ToolBarPanel.cs
- PersianCalendar.cs
- GeneratedContractType.cs
- CollectionBuilder.cs
- unitconverter.cs
- Lock.cs
- RadialGradientBrush.cs
- DrawingContextWalker.cs
- AxisAngleRotation3D.cs
- DbDataSourceEnumerator.cs
- TableFieldsEditor.cs
- DatagridviewDisplayedBandsData.cs
- HttpCacheVaryByContentEncodings.cs
- ColumnCollection.cs
- Pool.cs
- RuntimeWrappedException.cs
- MappingMetadataHelper.cs
- CreateBookmarkScope.cs
- ResourcePermissionBase.cs
- ISO2022Encoding.cs
- PopOutPanel.cs
- DbgUtil.cs
- OleDbParameter.cs
- ConnectionsZone.cs
- LoginView.cs
- ZipIOLocalFileBlock.cs
- RegexGroupCollection.cs
- ClientEventManager.cs
- SemanticValue.cs
- ObjectParameter.cs
- XamlBrushSerializer.cs
- DropDownButton.cs
- ConstrainedDataObject.cs
- DelegateBodyWriter.cs
- SecurityRuntime.cs
- SqlRowUpdatingEvent.cs