Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Security / Cryptography / SHA384Cng.cs / 1305376 / SHA384Cng.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
using System;
using System.Diagnostics.Contracts;
namespace System.Security.Cryptography {
///
/// Wrapper around the BCrypt implementation of the SHA-384 hashing algorithm
///
[System.Security.Permissions.HostProtection(MayLeakOnAbort = true)]
public sealed class SHA384Cng : SHA384 {
private BCryptHashAlgorithm m_hashAlgorithm;
//
//
//
[System.Security.SecurityCritical]
public SHA384Cng() {
Contract.Ensures(m_hashAlgorithm != null);
m_hashAlgorithm = new BCryptHashAlgorithm(CngAlgorithm.Sha384,
BCryptNative.ProviderName.MicrosoftPrimitiveProvider);
}
//
//
//
[System.Security.SecurityCritical]
protected override void Dispose(bool disposing) {
try {
if (disposing) {
m_hashAlgorithm.Dispose();
}
}
finally {
base.Dispose(disposing);
}
}
//
//
//
[System.Security.SecurityCritical]
public override void Initialize() {
Contract.Assert(m_hashAlgorithm != null);
m_hashAlgorithm.Initialize();
}
//
//
//
[System.Security.SecurityCritical]
protected override void HashCore(byte[] array, int ibStart, int cbSize) {
Contract.Assert(m_hashAlgorithm != null);
m_hashAlgorithm.HashCore(array, ibStart, cbSize);
}
//
//
//
[System.Security.SecurityCritical]
protected override byte[] HashFinal() {
Contract.Assert(m_hashAlgorithm != null);
return m_hashAlgorithm.HashFinal();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
using System;
using System.Diagnostics.Contracts;
namespace System.Security.Cryptography {
///
/// Wrapper around the BCrypt implementation of the SHA-384 hashing algorithm
///
[System.Security.Permissions.HostProtection(MayLeakOnAbort = true)]
public sealed class SHA384Cng : SHA384 {
private BCryptHashAlgorithm m_hashAlgorithm;
//
//
//
[System.Security.SecurityCritical]
public SHA384Cng() {
Contract.Ensures(m_hashAlgorithm != null);
m_hashAlgorithm = new BCryptHashAlgorithm(CngAlgorithm.Sha384,
BCryptNative.ProviderName.MicrosoftPrimitiveProvider);
}
//
//
//
[System.Security.SecurityCritical]
protected override void Dispose(bool disposing) {
try {
if (disposing) {
m_hashAlgorithm.Dispose();
}
}
finally {
base.Dispose(disposing);
}
}
//
//
//
[System.Security.SecurityCritical]
public override void Initialize() {
Contract.Assert(m_hashAlgorithm != null);
m_hashAlgorithm.Initialize();
}
//
//
//
[System.Security.SecurityCritical]
protected override void HashCore(byte[] array, int ibStart, int cbSize) {
Contract.Assert(m_hashAlgorithm != null);
m_hashAlgorithm.HashCore(array, ibStart, cbSize);
}
//
//
//
[System.Security.SecurityCritical]
protected override byte[] HashFinal() {
Contract.Assert(m_hashAlgorithm != null);
return m_hashAlgorithm.HashFinal();
}
}
}
// 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
- EventLogPermissionAttribute.cs
- XmlAttributeCollection.cs
- CollectionExtensions.cs
- DataGridViewCheckBoxCell.cs
- SQlBooleanStorage.cs
- DeviceContext2.cs
- TextBoxBase.cs
- Clause.cs
- DataBindingExpressionBuilder.cs
- LinkUtilities.cs
- RequestTimeoutManager.cs
- ReferentialConstraint.cs
- CellPartitioner.cs
- ObjectDataSourceMethodEventArgs.cs
- SHA256Managed.cs
- ChannelDispatcherBase.cs
- SelectionListComponentEditor.cs
- MemoryRecordBuffer.cs
- SqlClientMetaDataCollectionNames.cs
- _ScatterGatherBuffers.cs
- HwndSourceParameters.cs
- ImageField.cs
- Profiler.cs
- DataGridColumnEventArgs.cs
- CultureInfoConverter.cs
- QualifiedId.cs
- Math.cs
- WSTrustFeb2005.cs
- Verify.cs
- coordinatorscratchpad.cs
- ListViewHitTestInfo.cs
- ExecutionContext.cs
- LineServices.cs
- CompleteWizardStep.cs
- Inflater.cs
- PeerInvitationResponse.cs
- ISessionStateStore.cs
- SecurityCookieModeValidator.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- TableCellAutomationPeer.cs
- ScriptReferenceEventArgs.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- HttpHostedTransportConfiguration.cs
- Stylesheet.cs
- ReliableDuplexSessionChannel.cs
- WindowsClaimSet.cs
- MenuItemBinding.cs
- BamlTreeMap.cs
- CodeLinePragma.cs
- XamlPointCollectionSerializer.cs
- XpsResource.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- httpserverutility.cs
- CodeSubDirectoriesCollection.cs
- DBAsyncResult.cs
- XmlSchemaImporter.cs
- Mapping.cs
- odbcmetadatacolumnnames.cs
- MultiAsyncResult.cs
- ParameterToken.cs
- BamlResourceContent.cs
- EnglishPluralizationService.cs
- NativeMethods.cs
- KeyValuePairs.cs
- Style.cs
- DataTableCollection.cs
- Rotation3DAnimationBase.cs
- PermissionSetEnumerator.cs
- AstTree.cs
- Constant.cs
- ActivatableWorkflowsQueryResult.cs
- FunctionImportElement.cs
- RootBrowserWindowProxy.cs
- DataObject.cs
- UInt32Converter.cs
- WebServicesInteroperability.cs
- control.ime.cs
- SqlFormatter.cs
- CombinedGeometry.cs
- TypefaceMetricsCache.cs
- ServiceXNameTypeConverter.cs
- BinaryFormatterWriter.cs
- CrossSiteScriptingValidation.cs
- EventProviderClassic.cs
- SettingsContext.cs
- HtmlElementEventArgs.cs
- WindowsAltTab.cs
- SmiEventSink.cs
- PropertyKey.cs
- Model3D.cs
- ComPlusThreadInitializer.cs
- XhtmlCssHandler.cs
- KeyValuePairs.cs
- MimeBasePart.cs
- ReadOnlyPropertyMetadata.cs
- MasterPageBuildProvider.cs
- ScriptIgnoreAttribute.cs
- BindableTemplateBuilder.cs
- MD5CryptoServiceProvider.cs
- InvokeHandlers.cs