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
- DispatcherFrame.cs
- ViewgenGatekeeper.cs
- PieceNameHelper.cs
- PeerMaintainer.cs
- PlaceHolder.cs
- ParseChildrenAsPropertiesAttribute.cs
- WorkflowDesignerColors.cs
- SecurityChannelFactory.cs
- HostingEnvironmentException.cs
- EmbossBitmapEffect.cs
- ApplicationBuildProvider.cs
- DataSourceViewSchemaConverter.cs
- ManifestSignatureInformation.cs
- MergeFailedEvent.cs
- InternalBase.cs
- Converter.cs
- LinqDataView.cs
- IndentedWriter.cs
- PoisonMessageException.cs
- FlowDocumentReaderAutomationPeer.cs
- SectionInput.cs
- BuildProvider.cs
- CounterSample.cs
- XmlAnyAttributeAttribute.cs
- TrustLevel.cs
- MsmqChannelListenerBase.cs
- ControlValuePropertyAttribute.cs
- FieldNameLookup.cs
- MULTI_QI.cs
- CompositeActivityTypeDescriptorProvider.cs
- BStrWrapper.cs
- CatalogPart.cs
- PeerApplicationLaunchInfo.cs
- AbsoluteQuery.cs
- BaseCAMarshaler.cs
- CombinedGeometry.cs
- CodeArrayCreateExpression.cs
- HttpClientCertificate.cs
- AsyncContentLoadedEventArgs.cs
- Attributes.cs
- TraceUtility.cs
- OneWayChannelListener.cs
- LastQueryOperator.cs
- InvokeProviderWrapper.cs
- SqlTypesSchemaImporter.cs
- SimpleMailWebEventProvider.cs
- PieceDirectory.cs
- XmlJsonWriter.cs
- WindowsFormsHelpers.cs
- DirtyTextRange.cs
- XmlCharCheckingWriter.cs
- ProxySimple.cs
- RepeatButton.cs
- TextServicesProperty.cs
- PaperSize.cs
- HotSpotCollection.cs
- messageonlyhwndwrapper.cs
- FrugalMap.cs
- SafeProcessHandle.cs
- XmlIgnoreAttribute.cs
- HtmlControlAdapter.cs
- CodeDelegateInvokeExpression.cs
- WindowsStatusBar.cs
- TypeToken.cs
- QuotedPrintableStream.cs
- DataGridViewColumnConverter.cs
- ExtensionFile.cs
- Subtree.cs
- SystemIPAddressInformation.cs
- HyperLinkStyle.cs
- CompositionAdorner.cs
- DataContractSerializerMessageContractImporter.cs
- JavascriptCallbackMessageInspector.cs
- AdRotatorDesigner.cs
- updatecommandorderer.cs
- ApplicationTrust.cs
- SpecialNameAttribute.cs
- StopStoryboard.cs
- ClientFormsIdentity.cs
- HitTestParameters3D.cs
- Encoding.cs
- StringResourceManager.cs
- SingleAnimationBase.cs
- UrlAuthFailedErrorFormatter.cs
- VirtualDirectoryMapping.cs
- StatusBarPanelClickEvent.cs
- Lasso.cs
- CompiledRegexRunner.cs
- CustomServiceCredentials.cs
- TreeNodeCollectionEditorDialog.cs
- TabControlAutomationPeer.cs
- GlobalizationAssembly.cs
- ScaleTransform.cs
- FixedFindEngine.cs
- SQLInt64Storage.cs
- Graph.cs
- ClientTargetCollection.cs
- PrintPageEvent.cs
- LayoutEditorPart.cs
- BaseDataListComponentEditor.cs