Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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 );
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- _ChunkParse.cs
- ArrayTypeMismatchException.cs
- FixedSOMImage.cs
- FieldBuilder.cs
- CodeEntryPointMethod.cs
- RelationshipEnd.cs
- SharedConnectionInfo.cs
- TextSpan.cs
- DataGridViewCellMouseEventArgs.cs
- EmbeddedMailObjectsCollection.cs
- AttachmentCollection.cs
- BaseCAMarshaler.cs
- Rfc2898DeriveBytes.cs
- DataAdapter.cs
- Privilege.cs
- DBNull.cs
- OleDbDataReader.cs
- EventDescriptor.cs
- ConfigXmlText.cs
- HttpModuleActionCollection.cs
- WebRequestModuleElementCollection.cs
- InputBinder.cs
- XmlSchemaAll.cs
- AxisAngleRotation3D.cs
- TypeToken.cs
- FusionWrap.cs
- SuppressMessageAttribute.cs
- AttributeCollection.cs
- Expander.cs
- ArrangedElement.cs
- Region.cs
- PolyLineSegment.cs
- SyntaxCheck.cs
- SqlRewriteScalarSubqueries.cs
- Membership.cs
- TimeZone.cs
- DrawListViewSubItemEventArgs.cs
- CompilerScopeManager.cs
- SvcMapFileLoader.cs
- RequestFactory.cs
- PageThemeBuildProvider.cs
- _FtpDataStream.cs
- WebPartConnectionsDisconnectVerb.cs
- StrokeSerializer.cs
- EpmCustomContentSerializer.cs
- ChannelParameterCollection.cs
- ListBindingConverter.cs
- wgx_sdk_version.cs
- MatrixKeyFrameCollection.cs
- MultiView.cs
- SwitchDesigner.xaml.cs
- KeyedHashAlgorithm.cs
- CompositeTypefaceMetrics.cs
- ExeConfigurationFileMap.cs
- ToolStripContentPanelRenderEventArgs.cs
- OperationParameterInfo.cs
- BindingBase.cs
- MouseGestureConverter.cs
- TextDpi.cs
- ComContractElementCollection.cs
- DoubleAnimation.cs
- XmlSerializerVersionAttribute.cs
- WebDisplayNameAttribute.cs
- ModelTreeEnumerator.cs
- BindingExpressionBase.cs
- SpecularMaterial.cs
- RegexInterpreter.cs
- CreationContext.cs
- TypeRestriction.cs
- DataGridBeginningEditEventArgs.cs
- WebPartExportVerb.cs
- ManipulationVelocities.cs
- PassportAuthentication.cs
- SystemIcmpV6Statistics.cs
- ContractListAdapter.cs
- ValidatedControlConverter.cs
- Point3DIndependentAnimationStorage.cs
- VirtualDirectoryMappingCollection.cs
- SafeNativeMethodsOther.cs
- SimplePropertyEntry.cs
- ObjectFullSpanRewriter.cs
- FacetDescription.cs
- TabRenderer.cs
- TaskHelper.cs
- SqlProcedureAttribute.cs
- FrameworkElementFactory.cs
- DBConcurrencyException.cs
- NamespaceInfo.cs
- RepeaterCommandEventArgs.cs
- SqlDataSourceCommandParser.cs
- PriorityRange.cs
- METAHEADER.cs
- BindingListCollectionView.cs
- GenericWebPart.cs
- BitmapDownload.cs
- File.cs
- Directory.cs
- Thumb.cs
- TextElementCollectionHelper.cs
- ExpressionBinding.cs