Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Security / Permissions / StrongNamePublicKeyBlob.cs / 1 / StrongNamePublicKeyBlob.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
// StrongNamePublicKeyBlob.cs
//
namespace System.Security.Permissions
{
using System;
using SecurityElement = System.Security.SecurityElement;
using System.Security.Util;
[System.Runtime.InteropServices.ComVisible(true)]
[Serializable] sealed public class StrongNamePublicKeyBlob
{
internal byte[] PublicKey;
internal StrongNamePublicKeyBlob()
{
}
public StrongNamePublicKeyBlob( byte[] publicKey )
{
if (publicKey == null)
throw new ArgumentNullException( "PublicKey" );
this.PublicKey = new byte[publicKey.Length];
Array.Copy( publicKey, 0, this.PublicKey, 0, publicKey.Length );
}
internal StrongNamePublicKeyBlob( String publicKey )
{
this.PublicKey = Hex.DecodeHexString( publicKey );
}
private static bool CompareArrays( byte[] first, byte[] second )
{
if (first.Length != second.Length)
{
return false;
}
int count = first.Length;
for (int i = 0; i < count; ++i)
{
if (first[i] != second[i])
return false;
}
return true;
}
internal bool Equals( StrongNamePublicKeyBlob blob )
{
if (blob == null)
return false;
else
return CompareArrays( this.PublicKey, blob.PublicKey );
}
public override bool Equals( Object obj )
{
if (obj == null || !(obj is StrongNamePublicKeyBlob))
return false;
return this.Equals( (StrongNamePublicKeyBlob)obj );
}
static private int GetByteArrayHashCode( byte[] baData )
{
if (baData == null)
return 0;
int accumulator = 0;
for (int i = 0; i < baData.Length; ++i)
{
accumulator = (accumulator << 8) ^ (int)baData[i] ^ (accumulator >> 24);
}
return accumulator;
}
public override int GetHashCode()
{
return GetByteArrayHashCode( PublicKey );
}
public override String ToString()
{
return Hex.EncodeHexString( PublicKey );
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
// StrongNamePublicKeyBlob.cs
//
namespace System.Security.Permissions
{
using System;
using SecurityElement = System.Security.SecurityElement;
using System.Security.Util;
[System.Runtime.InteropServices.ComVisible(true)]
[Serializable] sealed public class StrongNamePublicKeyBlob
{
internal byte[] PublicKey;
internal StrongNamePublicKeyBlob()
{
}
public StrongNamePublicKeyBlob( byte[] publicKey )
{
if (publicKey == null)
throw new ArgumentNullException( "PublicKey" );
this.PublicKey = new byte[publicKey.Length];
Array.Copy( publicKey, 0, this.PublicKey, 0, publicKey.Length );
}
internal StrongNamePublicKeyBlob( String publicKey )
{
this.PublicKey = Hex.DecodeHexString( publicKey );
}
private static bool CompareArrays( byte[] first, byte[] second )
{
if (first.Length != second.Length)
{
return false;
}
int count = first.Length;
for (int i = 0; i < count; ++i)
{
if (first[i] != second[i])
return false;
}
return true;
}
internal bool Equals( StrongNamePublicKeyBlob blob )
{
if (blob == null)
return false;
else
return CompareArrays( this.PublicKey, blob.PublicKey );
}
public override bool Equals( Object obj )
{
if (obj == null || !(obj is StrongNamePublicKeyBlob))
return false;
return this.Equals( (StrongNamePublicKeyBlob)obj );
}
static private int GetByteArrayHashCode( byte[] baData )
{
if (baData == null)
return 0;
int accumulator = 0;
for (int i = 0; i < baData.Length; ++i)
{
accumulator = (accumulator << 8) ^ (int)baData[i] ^ (accumulator >> 24);
}
return accumulator;
}
public override int GetHashCode()
{
return GetByteArrayHashCode( PublicKey );
}
public override String ToString()
{
return Hex.EncodeHexString( PublicKey );
}
}
}
// 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
- HostingPreferredMapPath.cs
- HttpProfileBase.cs
- PassportAuthenticationModule.cs
- ToolBar.cs
- ToolboxComponentsCreatingEventArgs.cs
- Msmq4SubqueuePoisonHandler.cs
- Color.cs
- MobileCapabilities.cs
- ReadOnlyDataSourceView.cs
- WebColorConverter.cs
- MouseButtonEventArgs.cs
- QueryTreeBuilder.cs
- Vector3D.cs
- EntityStoreSchemaFilterEntry.cs
- DBDataPermissionAttribute.cs
- AssemblyResolver.cs
- ProxyAttribute.cs
- FileIOPermission.cs
- HttpCachePolicyElement.cs
- PageContentAsyncResult.cs
- CompilerErrorCollection.cs
- SettingsPropertyValue.cs
- EventRouteFactory.cs
- SafeNativeMethodsCLR.cs
- DetailsViewAutoFormat.cs
- CodeAttributeArgumentCollection.cs
- DrawingContextWalker.cs
- ToolBar.cs
- WebRequestModuleElementCollection.cs
- ReversePositionQuery.cs
- HwndKeyboardInputProvider.cs
- CodeDelegateInvokeExpression.cs
- BorderGapMaskConverter.cs
- Figure.cs
- IgnoreFileBuildProvider.cs
- ObjectHelper.cs
- BuildManagerHost.cs
- Odbc32.cs
- RegularExpressionValidator.cs
- Odbc32.cs
- Parameter.cs
- PointConverter.cs
- SchemaEntity.cs
- AtomMaterializerLog.cs
- FixedSOMContainer.cs
- ListViewItemMouseHoverEvent.cs
- NullableConverter.cs
- ColorIndependentAnimationStorage.cs
- SubMenuStyleCollectionEditor.cs
- InputBinder.cs
- NetMsmqBindingElement.cs
- OdbcParameterCollection.cs
- ProgressBar.cs
- ToolStripButton.cs
- StringKeyFrameCollection.cs
- ExecutionPropertyManager.cs
- OptionalColumn.cs
- CollectionBuilder.cs
- ServiceElement.cs
- COM2Enum.cs
- RectIndependentAnimationStorage.cs
- CellConstantDomain.cs
- BasePattern.cs
- DbSetClause.cs
- DuplicateDetector.cs
- UnionQueryOperator.cs
- SqlConnectionManager.cs
- HttpProfileGroupBase.cs
- ByteStream.cs
- FormatSelectingMessageInspector.cs
- QilLoop.cs
- EntityDataSourceMemberPath.cs
- SqlServer2KCompatibilityCheck.cs
- DataServiceExpressionVisitor.cs
- SystemUnicastIPAddressInformation.cs
- Tile.cs
- sqlcontext.cs
- ContractHandle.cs
- ScrollProviderWrapper.cs
- SponsorHelper.cs
- BrushConverter.cs
- LoginCancelEventArgs.cs
- SqlRecordBuffer.cs
- PointLight.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DetailsViewInsertEventArgs.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- ApplyImportsAction.cs
- HttpCachePolicyWrapper.cs
- PenThreadWorker.cs
- TrackBar.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- Stacktrace.cs
- XmlDeclaration.cs
- SqlPersonalizationProvider.cs
- WebPartConnectVerb.cs
- WorkflowCreationContext.cs
- Blend.cs
- EdmSchemaError.cs
- ExecutedRoutedEventArgs.cs