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
- EnumValAlphaComparer.cs
- PermissionSet.cs
- RequiredFieldValidator.cs
- TextContainerHelper.cs
- StringResourceManager.cs
- DataViewManager.cs
- XmlDataImplementation.cs
- FormatConvertedBitmap.cs
- TreeIterators.cs
- AssertHelper.cs
- SmtpNegotiateAuthenticationModule.cs
- AccessibleObject.cs
- ThicknessAnimation.cs
- EntityDescriptor.cs
- GridViewItemAutomationPeer.cs
- ColorIndependentAnimationStorage.cs
- TransformCollection.cs
- HttpHandlersSection.cs
- AspNetRouteServiceHttpHandler.cs
- FontDriver.cs
- GACIdentityPermission.cs
- ControlAdapter.cs
- MetaTableHelper.cs
- SynchronizingStream.cs
- Int16Converter.cs
- Visual3DCollection.cs
- ItemCheckedEvent.cs
- ActivationServices.cs
- GenericsInstances.cs
- DrawingAttributesDefaultValueFactory.cs
- SocketInformation.cs
- Errors.cs
- WeakReferenceEnumerator.cs
- NameValuePair.cs
- SettingsSection.cs
- SQLResource.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- Evaluator.cs
- PropertyTabAttribute.cs
- PeerCollaborationPermission.cs
- DataException.cs
- Lease.cs
- AppSecurityManager.cs
- DynamicUpdateCommand.cs
- Model3DCollection.cs
- AspNetSynchronizationContext.cs
- PersonalizableTypeEntry.cs
- ScopedKnownTypes.cs
- XmlSchemaDocumentation.cs
- CustomWebEventKey.cs
- InputScopeConverter.cs
- DispatcherObject.cs
- ChannelManagerService.cs
- CellParagraph.cs
- DoubleLinkListEnumerator.cs
- ExpressionPrefixAttribute.cs
- PipelineModuleStepContainer.cs
- LookupBindingPropertiesAttribute.cs
- FastPropertyAccessor.cs
- ObjectView.cs
- BitmapDecoder.cs
- DispatcherHooks.cs
- StreamResourceInfo.cs
- UIElement.cs
- HierarchicalDataTemplate.cs
- FontClient.cs
- MruCache.cs
- SynchronizedDispatch.cs
- SQLRoleProvider.cs
- DependencyObjectPropertyDescriptor.cs
- MessageSecurityProtocolFactory.cs
- DelegatingConfigHost.cs
- WebPartCloseVerb.cs
- CodeBlockBuilder.cs
- SuppressMergeCheckAttribute.cs
- MeshGeometry3D.cs
- DocumentXmlWriter.cs
- LogicalExpressionTypeConverter.cs
- WmlTextViewAdapter.cs
- Freezable.cs
- SqlNodeAnnotation.cs
- AttachmentCollection.cs
- PowerStatus.cs
- ServerReliableChannelBinder.cs
- XmlSchemaInclude.cs
- MarginsConverter.cs
- IsolatedStorageFileStream.cs
- ConstantCheck.cs
- WebGetAttribute.cs
- CounterSampleCalculator.cs
- TypeToStringValueConverter.cs
- AsmxEndpointPickerExtension.cs
- Compiler.cs
- FixedSOMTable.cs
- SByte.cs
- Rules.cs
- IdleTimeoutMonitor.cs
- CustomError.cs
- AutomationPeer.cs
- HttpChannelListener.cs