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
- __ComObject.cs
- HttpListenerContext.cs
- XmlSchemaSimpleContent.cs
- WmlValidatorAdapter.cs
- ListViewItemSelectionChangedEvent.cs
- KernelTypeValidation.cs
- WebBrowserProgressChangedEventHandler.cs
- AccessDataSourceView.cs
- ChannelDispatcherCollection.cs
- XhtmlBasicObjectListAdapter.cs
- PolyBezierSegment.cs
- DateTimeConstantAttribute.cs
- SqlMethodTransformer.cs
- securitycriticaldata.cs
- DragDrop.cs
- Context.cs
- MemberMemberBinding.cs
- PointLightBase.cs
- DataGridRelationshipRow.cs
- AsyncContentLoadedEventArgs.cs
- SettingsAttributeDictionary.cs
- TypeInfo.cs
- TextElementAutomationPeer.cs
- TextElementEnumerator.cs
- InputMethodStateChangeEventArgs.cs
- Compiler.cs
- AddressingVersion.cs
- StylusDownEventArgs.cs
- DataGridViewCellEventArgs.cs
- EventsTab.cs
- WebAdminConfigurationHelper.cs
- XmlNodeChangedEventManager.cs
- ParagraphVisual.cs
- BindingObserver.cs
- WebWorkflowRole.cs
- FilterElement.cs
- ItemType.cs
- AxImporter.cs
- RayHitTestParameters.cs
- SessionStateModule.cs
- AnimationException.cs
- metadatamappinghashervisitor.cs
- Image.cs
- WebServiceEnumData.cs
- SafeNativeMethods.cs
- ButtonFieldBase.cs
- ProxyElement.cs
- SetStoryboardSpeedRatio.cs
- Clipboard.cs
- XmlSchemaNotation.cs
- ConfigurationSectionGroupCollection.cs
- CompositeDispatchFormatter.cs
- ListViewDeleteEventArgs.cs
- QuaternionAnimationBase.cs
- TextDecorationCollection.cs
- exports.cs
- XmlSchemaSimpleContentRestriction.cs
- CdpEqualityComparer.cs
- WebServiceHandlerFactory.cs
- DBConnectionString.cs
- TextBlockAutomationPeer.cs
- ISAPIRuntime.cs
- DataGridViewRowsAddedEventArgs.cs
- WebHeaderCollection.cs
- ILGenerator.cs
- GridViewDeletedEventArgs.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- InfoCardCryptoHelper.cs
- FullTrustAssembliesSection.cs
- MultiPropertyDescriptorGridEntry.cs
- ParameterSubsegment.cs
- ConnectionPoolManager.cs
- HostProtectionPermission.cs
- Adorner.cs
- TraceListener.cs
- WebPartHelpVerb.cs
- _ConnectStream.cs
- AncestorChangedEventArgs.cs
- AvTrace.cs
- MailAddress.cs
- SchemaImporterExtensionElement.cs
- VirtualPathProvider.cs
- OdbcDataAdapter.cs
- LinkedResource.cs
- SingleAnimation.cs
- Missing.cs
- SignedXml.cs
- SmiSettersStream.cs
- X509CertificateCollection.cs
- Stack.cs
- HTMLTagNameToTypeMapper.cs
- OracleFactory.cs
- DocumentApplication.cs
- BoolLiteral.cs
- CounterSetInstance.cs
- OuterGlowBitmapEffect.cs
- UrlAuthorizationModule.cs
- WebPartsPersonalization.cs
- _WebProxyDataBuilder.cs
- InheritanceService.cs