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
- PathSegment.cs
- DataSourceView.cs
- PathSegmentCollection.cs
- CheckPair.cs
- BindableTemplateBuilder.cs
- ListView.cs
- sqlpipe.cs
- AmbientLight.cs
- StaticExtensionConverter.cs
- Int64Storage.cs
- DataSourceCache.cs
- _FixedSizeReader.cs
- SqlGatherProducedAliases.cs
- Pair.cs
- DefaultWorkflowSchedulerService.cs
- FocusWithinProperty.cs
- CellParagraph.cs
- WebBrowserBase.cs
- BuiltInExpr.cs
- CachedCompositeFamily.cs
- WSDualHttpSecurity.cs
- ItemsChangedEventArgs.cs
- TextPointer.cs
- FileLoadException.cs
- DbConnectionClosed.cs
- ExpandoClass.cs
- ListViewItemEventArgs.cs
- BmpBitmapEncoder.cs
- BitmapEffectRenderDataResource.cs
- RequestCacheValidator.cs
- Utils.cs
- WebPartCatalogAddVerb.cs
- Signature.cs
- ApplicationFileParser.cs
- AccessorTable.cs
- Inline.cs
- AuthenticationModuleElementCollection.cs
- PeerCredentialElement.cs
- CounterSet.cs
- NameValuePermission.cs
- SrgsGrammar.cs
- RichTextBoxDesigner.cs
- XmlSerializationGeneratedCode.cs
- FieldAccessException.cs
- EventMappingSettingsCollection.cs
- WriteableOnDemandPackagePart.cs
- AppDomainEvidenceFactory.cs
- TaskHelper.cs
- HWStack.cs
- Size.cs
- CacheAxisQuery.cs
- SecurityElement.cs
- ValuePatternIdentifiers.cs
- PixelFormats.cs
- DropShadowBitmapEffect.cs
- Vector3dCollection.cs
- FixedSOMSemanticBox.cs
- ExpressionNormalizer.cs
- DllNotFoundException.cs
- DataGridViewCellStyleEditor.cs
- HMACMD5.cs
- DashStyle.cs
- InheritanceContextHelper.cs
- Repeater.cs
- SimpleWebHandlerParser.cs
- ListDataHelper.cs
- ClosableStream.cs
- InputChannelBinder.cs
- ConfigurationStrings.cs
- Double.cs
- XmlQueryCardinality.cs
- CompositeFontInfo.cs
- mongolianshape.cs
- UiaCoreApi.cs
- SQLInt16.cs
- RecordBuilder.cs
- XXXInfos.cs
- XmlReaderSettings.cs
- HttpNamespaceReservationInstallComponent.cs
- ParallelEnumerable.cs
- ReliableSessionBindingElementImporter.cs
- XmlSchemaGroupRef.cs
- AliasExpr.cs
- Expression.DebuggerProxy.cs
- Visitor.cs
- AnnotationComponentChooser.cs
- PowerModeChangedEventArgs.cs
- SqlFileStream.cs
- TdsParserHelperClasses.cs
- DatagridviewDisplayedBandsData.cs
- ReflectionPermission.cs
- DesignerDataColumn.cs
- IsolationInterop.cs
- DrawingServices.cs
- OTFRasterizer.cs
- COM2ComponentEditor.cs
- StrokeCollection.cs
- ListViewDeletedEventArgs.cs
- DispatchWrapper.cs
- Exceptions.cs