Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Security / Cryptography / HMACSHA512.cs / 1 / 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. // // ==--== // // 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProfileParameter.cs
- ValueChangedEventManager.cs
- Iis7Helper.cs
- ContractCodeDomInfo.cs
- NetDispatcherFaultException.cs
- ArithmeticException.cs
- ProtocolElement.cs
- VerticalAlignConverter.cs
- SplitterCancelEvent.cs
- MenuItemBinding.cs
- OdbcStatementHandle.cs
- Enum.cs
- EntityCommandCompilationException.cs
- NamespaceList.cs
- FreezableOperations.cs
- RequiredAttributeAttribute.cs
- OleDbException.cs
- ImageMap.cs
- _KerberosClient.cs
- ClockGroup.cs
- util.cs
- Attachment.cs
- HttpException.cs
- _LocalDataStoreMgr.cs
- UniqueEventHelper.cs
- _ListenerResponseStream.cs
- hresults.cs
- BeginStoryboard.cs
- HandleScope.cs
- FormsAuthenticationModule.cs
- LayoutEditorPart.cs
- CipherData.cs
- TagPrefixInfo.cs
- MappingException.cs
- EndpointAddressAugust2004.cs
- SerializationSectionGroup.cs
- TextDecorationCollectionConverter.cs
- Button.cs
- Script.cs
- NullableDoubleAverageAggregationOperator.cs
- TextRangeProviderWrapper.cs
- ManagementDateTime.cs
- GuidelineCollection.cs
- objectquery_tresulttype.cs
- DynamicDataManager.cs
- BuildProvidersCompiler.cs
- Journal.cs
- CharacterMetricsDictionary.cs
- TTSVoice.cs
- DecoderReplacementFallback.cs
- WebConfigurationManager.cs
- TextShapeableCharacters.cs
- MemoryRecordBuffer.cs
- X509KeyIdentifierClauseType.cs
- StylusSystemGestureEventArgs.cs
- HealthMonitoringSectionHelper.cs
- CalendarDay.cs
- PassportAuthentication.cs
- CalloutQueueItem.cs
- Help.cs
- ByteStreamBufferedMessageData.cs
- TagNameToTypeMapper.cs
- StreamGeometry.cs
- XmlEntity.cs
- RegexWriter.cs
- DataRowCollection.cs
- EncoderBestFitFallback.cs
- Wizard.cs
- FormConverter.cs
- WebPartEditorOkVerb.cs
- KeyedByTypeCollection.cs
- DesignerCategoryAttribute.cs
- UndoEngine.cs
- QuaternionKeyFrameCollection.cs
- MetadataPropertyAttribute.cs
- List.cs
- Vector3DCollectionConverter.cs
- Encoder.cs
- ConvertBinder.cs
- CheckBoxAutomationPeer.cs
- DiscoveryClientOutputChannel.cs
- TabItemAutomationPeer.cs
- StyleBamlRecordReader.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- DataGridViewCell.cs
- InstanceKeyCollisionException.cs
- MediaTimeline.cs
- ParameterCollectionEditorForm.cs
- EntityDataSourceEntityTypeFilterItem.cs
- SimpleExpression.cs
- JapaneseLunisolarCalendar.cs
- WorkflowInstance.cs
- FullTextLine.cs
- InstanceView.cs
- ResizingMessageFilter.cs
- ArgumentsParser.cs
- ModifierKeysValueSerializer.cs
- Region.cs
- XmlLoader.cs
- DataGridViewCellFormattingEventArgs.cs