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
- Mutex.cs
- FigureParagraph.cs
- BamlLocalizableResourceKey.cs
- ReflectionServiceProvider.cs
- StringFunctions.cs
- columnmapkeybuilder.cs
- CounterSetInstanceCounterDataSet.cs
- StylusPoint.cs
- ModuleConfigurationInfo.cs
- MethodCallConverter.cs
- ClockController.cs
- Accessible.cs
- OleDbReferenceCollection.cs
- TargetParameterCountException.cs
- GAC.cs
- CustomLineCap.cs
- FacetEnabledSchemaElement.cs
- _ContextAwareResult.cs
- MetricEntry.cs
- XmlSchemaException.cs
- ParallelLoopState.cs
- PartitionedDataSource.cs
- EventListener.cs
- RadialGradientBrush.cs
- bidPrivateBase.cs
- InternalUserCancelledException.cs
- formatter.cs
- Attributes.cs
- XmlWrappingReader.cs
- ColorConvertedBitmap.cs
- TemplateControlBuildProvider.cs
- filewebresponse.cs
- PublisherIdentityPermission.cs
- DataGridCommandEventArgs.cs
- CellQuery.cs
- SaveFileDialog.cs
- _LazyAsyncResult.cs
- XmlBufferedByteStreamReader.cs
- FileSystemInfo.cs
- PublisherMembershipCondition.cs
- MemberListBinding.cs
- WebServiceHandlerFactory.cs
- StringExpressionSet.cs
- cookiecollection.cs
- ServicePointManager.cs
- DeclaredTypeElementCollection.cs
- SmtpFailedRecipientException.cs
- MeasureItemEvent.cs
- RootBrowserWindow.cs
- RegexInterpreter.cs
- HttpRequest.cs
- DebugInfoGenerator.cs
- ScanQueryOperator.cs
- DocumentReferenceCollection.cs
- OpenFileDialog.cs
- externdll.cs
- IndentedTextWriter.cs
- EncodingConverter.cs
- NetworkInterface.cs
- XamlFxTrace.cs
- ThumbButtonInfoCollection.cs
- CompilationPass2Task.cs
- Walker.cs
- ConnectionManagementElementCollection.cs
- TimeoutHelper.cs
- ClientBuildManagerCallback.cs
- _UriSyntax.cs
- _CookieModule.cs
- DrawListViewItemEventArgs.cs
- Util.cs
- XmlLoader.cs
- DesignerActionGlyph.cs
- FieldReference.cs
- SegmentInfo.cs
- WebPartPersonalization.cs
- SystemColors.cs
- ResourceDescriptionAttribute.cs
- SqlUserDefinedTypeAttribute.cs
- DateTimeParse.cs
- FlowNode.cs
- DataGridViewComboBoxColumn.cs
- ShaperBuffers.cs
- ContextStaticAttribute.cs
- Accessible.cs
- ItemContainerGenerator.cs
- DrawingContextDrawingContextWalker.cs
- ChannelCacheSettings.cs
- PeerTransportListenAddressValidatorAttribute.cs
- BamlCollectionHolder.cs
- oledbconnectionstring.cs
- WindowsTokenRoleProvider.cs
- CSharpCodeProvider.cs
- BindingUtils.cs
- ProjectionCamera.cs
- HtmlButton.cs
- SecurityTokenValidationException.cs
- CodeNamespace.cs
- ReferentialConstraintRoleElement.cs
- RemotingConfigParser.cs
- TrustLevel.cs