Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FixedStringLookup.cs
- ElementsClipboardData.cs
- ComplusEndpointConfigContainer.cs
- ClientEndpointLoader.cs
- XLinq.cs
- WebPartZoneDesigner.cs
- TabControlCancelEvent.cs
- HttpListenerResponse.cs
- SessionPageStatePersister.cs
- EntityObject.cs
- ComboBoxAutomationPeer.cs
- DbBuffer.cs
- TableLayoutCellPaintEventArgs.cs
- TemplatePartAttribute.cs
- SmiXetterAccessMap.cs
- RouteItem.cs
- AssertHelper.cs
- TypeDependencyAttribute.cs
- srgsitem.cs
- StoreAnnotationsMap.cs
- DeviceSpecificDesigner.cs
- PageBuildProvider.cs
- Exceptions.cs
- SqlCacheDependency.cs
- VariableAction.cs
- TextRenderer.cs
- XsdBuildProvider.cs
- ChannelManager.cs
- ClrPerspective.cs
- NativeActivityAbortContext.cs
- AppDomainProtocolHandler.cs
- ActiveXSite.cs
- CounterSet.cs
- ControlPaint.cs
- HScrollBar.cs
- LinqDataSourceView.cs
- X509CertificateChain.cs
- XmlWriterSettings.cs
- ObjectHandle.cs
- PermissionRequestEvidence.cs
- Delegate.cs
- SignedXmlDebugLog.cs
- XmlObjectSerializerContext.cs
- ResXDataNode.cs
- NonClientArea.cs
- ColorConverter.cs
- IImplicitResourceProvider.cs
- PresentationAppDomainManager.cs
- MdiWindowListStrip.cs
- StackBuilderSink.cs
- ZipIOLocalFileBlock.cs
- ObjectTag.cs
- BamlStream.cs
- ScrollChrome.cs
- OneOfTypeConst.cs
- SqlException.cs
- XmlSchemaObjectTable.cs
- StringAttributeCollection.cs
- XmlSchemaGroupRef.cs
- DetectRunnableInstancesTask.cs
- TablePatternIdentifiers.cs
- CodeMethodInvokeExpression.cs
- CheckBoxList.cs
- RectangleF.cs
- TextTrailingWordEllipsis.cs
- CompositeKey.cs
- SqlGatherConsumedAliases.cs
- BeginGetFileNameFromUserRequest.cs
- CheckoutException.cs
- EmptyEnumerator.cs
- GenerateScriptTypeAttribute.cs
- InkCanvasSelection.cs
- SoapExtensionTypeElement.cs
- TypeLibConverter.cs
- CircleEase.cs
- SigningCredentials.cs
- PrintingPermission.cs
- HtmlElementCollection.cs
- AsymmetricKeyExchangeFormatter.cs
- ConfigurationSectionGroupCollection.cs
- SoapSchemaExporter.cs
- Events.cs
- MarshalByValueComponent.cs
- ProjectionPruner.cs
- ChangePassword.cs
- LinkButton.cs
- DocumentReferenceCollection.cs
- EnumMember.cs
- _BaseOverlappedAsyncResult.cs
- Context.cs
- SettingsBindableAttribute.cs
- OrderedDictionaryStateHelper.cs
- ImageAttributes.cs
- TextContainerChangedEventArgs.cs
- QilVisitor.cs
- smtpconnection.cs
- ActivityExecutionFilter.cs
- SqlProviderManifest.cs
- StringBuilder.cs
- UnsafeNativeMethods.cs