Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / Security / Cryptography / KeyedHashAlgorithm.cs / 1 / KeyedHashAlgorithm.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// KeyedHashAlgorithm.cs
//
namespace System.Security.Cryptography {
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class KeyedHashAlgorithm : HashAlgorithm {
protected byte[] KeyValue;
protected KeyedHashAlgorithm() {}
// IDisposable methods
protected override void Dispose(bool disposing) {
// For keyed hash algorithms, we always want to zero out the key value
if (disposing) {
if (KeyValue != null)
Array.Clear(KeyValue, 0, KeyValue.Length);
KeyValue = null;
}
base.Dispose(disposing);
}
//
// public properties
//
public virtual byte[] Key {
get { return (byte[]) KeyValue.Clone(); }
set {
if (State != 0)
throw new CryptographicException(Environment.GetResourceString("Cryptography_HashKeySet"));
KeyValue = (byte[]) value.Clone();
}
}
//
// public methods
//
new static public KeyedHashAlgorithm Create() {
return Create("System.Security.Cryptography.KeyedHashAlgorithm");
}
new static public KeyedHashAlgorithm Create(String algName) {
return (KeyedHashAlgorithm) CryptoConfig.CreateFromName(algName);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// KeyedHashAlgorithm.cs
//
namespace System.Security.Cryptography {
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class KeyedHashAlgorithm : HashAlgorithm {
protected byte[] KeyValue;
protected KeyedHashAlgorithm() {}
// IDisposable methods
protected override void Dispose(bool disposing) {
// For keyed hash algorithms, we always want to zero out the key value
if (disposing) {
if (KeyValue != null)
Array.Clear(KeyValue, 0, KeyValue.Length);
KeyValue = null;
}
base.Dispose(disposing);
}
//
// public properties
//
public virtual byte[] Key {
get { return (byte[]) KeyValue.Clone(); }
set {
if (State != 0)
throw new CryptographicException(Environment.GetResourceString("Cryptography_HashKeySet"));
KeyValue = (byte[]) value.Clone();
}
}
//
// public methods
//
new static public KeyedHashAlgorithm Create() {
return Create("System.Security.Cryptography.KeyedHashAlgorithm");
}
new static public KeyedHashAlgorithm Create(String algName) {
return (KeyedHashAlgorithm) CryptoConfig.CreateFromName(algName);
}
}
}
// 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
- PageVisual.cs
- ProfilePropertySettingsCollection.cs
- TriState.cs
- StringDictionaryWithComparer.cs
- MsmqQueue.cs
- DataReaderContainer.cs
- PersonalizationProviderCollection.cs
- DiagnosticsConfigurationHandler.cs
- TypeInfo.cs
- IndexerNameAttribute.cs
- UrlMappingCollection.cs
- WebHttpElement.cs
- TraceHandlerErrorFormatter.cs
- PersonalizationProviderCollection.cs
- PropertyOverridesTypeEditor.cs
- ObjectSet.cs
- AncestorChangedEventArgs.cs
- SharedPerformanceCounter.cs
- QueryResponse.cs
- HtmlTitle.cs
- x509utils.cs
- PartitionResolver.cs
- SmiEventStream.cs
- TreeViewAutomationPeer.cs
- PeerCredentialElement.cs
- Marshal.cs
- FrameworkContextData.cs
- ExpressionBindings.cs
- WindowsSecurityToken.cs
- EmbeddedObject.cs
- ExpressionBuilder.cs
- DataRecordInternal.cs
- ObjectCloneHelper.cs
- TableLayout.cs
- BindingBase.cs
- SelectionItemPattern.cs
- StrokeFIndices.cs
- DataListDesigner.cs
- Pair.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- CodePropertyReferenceExpression.cs
- PowerStatus.cs
- IndexerNameAttribute.cs
- Int32CollectionConverter.cs
- SurrogateEncoder.cs
- QueryPageSettingsEventArgs.cs
- ListViewItem.cs
- ExecutionContext.cs
- BitmapPalettes.cs
- DbParameterCollection.cs
- ConnectionStringsSection.cs
- WebHostedComPlusServiceHost.cs
- ProcessManager.cs
- DbConnectionStringBuilder.cs
- SizeIndependentAnimationStorage.cs
- MethodCallTranslator.cs
- Fonts.cs
- SecurityTokenException.cs
- RegistryKey.cs
- ObjectDataSourceMethodEventArgs.cs
- DataRelationPropertyDescriptor.cs
- IconConverter.cs
- BamlMapTable.cs
- MetadataItem.cs
- MemberRelationshipService.cs
- ConstraintConverter.cs
- PairComparer.cs
- PeerNodeTraceRecord.cs
- DesignerCategoryAttribute.cs
- CacheChildrenQuery.cs
- HttpProfileGroupBase.cs
- ArrayTypeMismatchException.cs
- GotoExpression.cs
- XmlSchemaImporter.cs
- SerialPort.cs
- FlowLayoutSettings.cs
- EastAsianLunisolarCalendar.cs
- FocusChangedEventArgs.cs
- HTTPNotFoundHandler.cs
- SafeLocalMemHandle.cs
- ObjectRef.cs
- EntityDataSourceDataSelection.cs
- NamespaceCollection.cs
- ScrollItemPatternIdentifiers.cs
- CompositeActivityTypeDescriptorProvider.cs
- EventLogPermissionEntry.cs
- CompleteWizardStep.cs
- BitmapVisualManager.cs
- SamlDoNotCacheCondition.cs
- WebPartDisplayModeCancelEventArgs.cs
- DbParameterCollectionHelper.cs
- COM2ExtendedUITypeEditor.cs
- FixedSOMTableCell.cs
- SQLResource.cs
- CopyEncoder.cs
- CellTreeNodeVisitors.cs
- WindowsListBox.cs
- DataGridTable.cs
- WhiteSpaceTrimStringConverter.cs
- SessionStateContainer.cs