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
- LowerCaseStringConverter.cs
- InProcStateClientManager.cs
- MasterPageParser.cs
- BezierSegment.cs
- DataRowView.cs
- MemoryFailPoint.cs
- ModelVisual3D.cs
- WebPartRestoreVerb.cs
- ValidationHelper.cs
- FormsIdentity.cs
- Variant.cs
- CodeObject.cs
- SecurityException.cs
- SurrogateEncoder.cs
- VirtualPath.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- TypeInformation.cs
- WebPartVerb.cs
- Sentence.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- UTF32Encoding.cs
- MetabaseServerConfig.cs
- CachedBitmap.cs
- ExtensionQuery.cs
- PreviewKeyDownEventArgs.cs
- PenCursorManager.cs
- InteropAutomationProvider.cs
- PointCollection.cs
- FileResponseElement.cs
- ApplicationProxyInternal.cs
- MimeTypeAttribute.cs
- DropSource.cs
- FrameworkElementFactory.cs
- DeviceContext.cs
- FunctionMappingTranslator.cs
- Comparer.cs
- newitemfactory.cs
- TextPointer.cs
- MouseButton.cs
- DetailsViewCommandEventArgs.cs
- ProtectedProviderSettings.cs
- FramingChannels.cs
- XPathException.cs
- DesignerHelpers.cs
- UIElementAutomationPeer.cs
- PenContexts.cs
- SQLInt64Storage.cs
- TextDecorationUnitValidation.cs
- indexingfiltermarshaler.cs
- MenuItemBinding.cs
- ImageFormat.cs
- MemoryPressure.cs
- LeafCellTreeNode.cs
- WSTransactionSection.cs
- Propagator.cs
- DoubleLinkListEnumerator.cs
- XmlSchemaAppInfo.cs
- AuthenticationSchemesHelper.cs
- TypeSystem.cs
- DeploymentSection.cs
- RegexNode.cs
- CompoundFileStorageReference.cs
- Pkcs9Attribute.cs
- xsdvalidator.cs
- Token.cs
- WebEventCodes.cs
- TextElementEnumerator.cs
- DeclarativeExpressionConditionDeclaration.cs
- CryptoKeySecurity.cs
- XmlSchema.cs
- DropSourceBehavior.cs
- DeflateStreamAsyncResult.cs
- XamlLoadErrorInfo.cs
- ToolStripRenderer.cs
- Expression.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- DecoderFallbackWithFailureFlag.cs
- CombinedTcpChannel.cs
- InternalConfigSettingsFactory.cs
- AdCreatedEventArgs.cs
- SafeRightsManagementSessionHandle.cs
- Matrix.cs
- AccessDataSourceView.cs
- ScriptModule.cs
- DataGridViewRowCancelEventArgs.cs
- UrlMappingCollection.cs
- PaginationProgressEventArgs.cs
- WebResourceUtil.cs
- DataListItem.cs
- PathSegment.cs
- HttpRequest.cs
- TypedServiceOperationListItem.cs
- CalendarDay.cs
- linebase.cs
- GlobalAllocSafeHandle.cs
- RealProxy.cs
- XmlTypeMapping.cs
- iisPickupDirectory.cs
- _AutoWebProxyScriptHelper.cs
- RawUIStateInputReport.cs