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
- PingReply.cs
- Emitter.cs
- FastEncoderWindow.cs
- GridItem.cs
- FixedStringLookup.cs
- XamlPointCollectionSerializer.cs
- ExpressionParser.cs
- DrawingContextFlattener.cs
- WMICapabilities.cs
- FixedStringLookup.cs
- RepeatInfo.cs
- RtfToXamlReader.cs
- DBDataPermission.cs
- IdnElement.cs
- SaveRecipientRequest.cs
- IndentedWriter.cs
- DocumentGridContextMenu.cs
- RefreshPropertiesAttribute.cs
- DataGridHeaderBorder.cs
- SqlException.cs
- FixedSOMGroup.cs
- InkCanvasInnerCanvas.cs
- CompositeFontInfo.cs
- ByteAnimationUsingKeyFrames.cs
- QuotedPrintableStream.cs
- CounterSample.cs
- DbExpressionVisitor.cs
- ApplicationGesture.cs
- GuidelineSet.cs
- BooleanAnimationUsingKeyFrames.cs
- CheckoutException.cs
- LineServicesCallbacks.cs
- COAUTHINFO.cs
- SourceFileBuildProvider.cs
- FormatSelectingMessageInspector.cs
- DataRelationCollection.cs
- Point3DIndependentAnimationStorage.cs
- ColorTransform.cs
- SqlProviderManifest.cs
- SoapExtensionImporter.cs
- DecimalConverter.cs
- ParagraphResult.cs
- ServiceBuildProvider.cs
- WindowsFormsHostPropertyMap.cs
- XsdDuration.cs
- SafeRsaProviderHandle.cs
- ExpressionBuilder.cs
- WindowsFormsHelpers.cs
- WebPartTransformerAttribute.cs
- HttpApplication.cs
- WebDisplayNameAttribute.cs
- HttpSysSettings.cs
- DesignerTransactionCloseEvent.cs
- MissingManifestResourceException.cs
- ObjectDataSourceMethodEditor.cs
- Brush.cs
- DiscriminatorMap.cs
- HeaderCollection.cs
- EdmEntityTypeAttribute.cs
- PixelShader.cs
- AppliedDeviceFiltersDialog.cs
- ColumnHeader.cs
- ScriptingJsonSerializationSection.cs
- RawStylusSystemGestureInputReport.cs
- CodePageUtils.cs
- AssemblyNameProxy.cs
- AssemblyAttributesGoHere.cs
- DataObjectPastingEventArgs.cs
- AssemblyBuilderData.cs
- CodeTypeReferenceSerializer.cs
- DbUpdateCommandTree.cs
- XmlDomTextWriter.cs
- TypeInitializationException.cs
- ECDsa.cs
- MenuItem.cs
- CustomErrorsSectionWrapper.cs
- XmlQueryType.cs
- DataListItemEventArgs.cs
- EntityConnectionStringBuilder.cs
- UInt16Storage.cs
- followingquery.cs
- ProviderSettingsCollection.cs
- SslSecurityTokenParameters.cs
- EmissiveMaterial.cs
- BaseDataListDesigner.cs
- IriParsingElement.cs
- UTF8Encoding.cs
- DLinqAssociationProvider.cs
- InternalConfigHost.cs
- EmbeddedObject.cs
- TemplatePagerField.cs
- GenericIdentity.cs
- InvalidDataException.cs
- QueryComponents.cs
- MultiBinding.cs
- ReflectPropertyDescriptor.cs
- CompoundFileStorageReference.cs
- NotImplementedException.cs
- ParameterRefs.cs
- ToolZone.cs