Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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 ); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QueryContinueDragEventArgs.cs
- NameObjectCollectionBase.cs
- DrawListViewSubItemEventArgs.cs
- DigitalSignature.cs
- EpmContentDeSerializer.cs
- TargetPerspective.cs
- IIS7WorkerRequest.cs
- DataBoundControlParameterTarget.cs
- IisTraceListener.cs
- GlyphTypeface.cs
- OTFRasterizer.cs
- GiveFeedbackEvent.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- DefaultBindingPropertyAttribute.cs
- ClientProxyGenerator.cs
- SessionStateModule.cs
- KeyValueConfigurationCollection.cs
- GroupBoxAutomationPeer.cs
- SerTrace.cs
- IntegerCollectionEditor.cs
- RangeContentEnumerator.cs
- OciHandle.cs
- Tablet.cs
- TogglePattern.cs
- ProfessionalColors.cs
- DataGridViewCellLinkedList.cs
- ExtractedStateEntry.cs
- CalendarButtonAutomationPeer.cs
- ConstructorExpr.cs
- ConfigurationSectionGroup.cs
- XmlQueryRuntime.cs
- EnumMember.cs
- Italic.cs
- PeerName.cs
- Separator.cs
- RectangleF.cs
- PopOutPanel.cs
- DecoderExceptionFallback.cs
- DataServiceHost.cs
- AvtEvent.cs
- PartitionResolver.cs
- ComPlusAuthorization.cs
- LassoHelper.cs
- ProtocolsConfigurationEntry.cs
- Int16Animation.cs
- WebPartMenuStyle.cs
- DataGridViewCellCancelEventArgs.cs
- KerberosSecurityTokenAuthenticator.cs
- SQLGuidStorage.cs
- ExternalException.cs
- NotConverter.cs
- XPathDocument.cs
- ListControlBoundActionList.cs
- WmlTextBoxAdapter.cs
- SelectionItemProviderWrapper.cs
- CompilationUtil.cs
- itemelement.cs
- CryptoKeySecurity.cs
- DbConnectionPool.cs
- Interlocked.cs
- HatchBrush.cs
- CacheDict.cs
- TypeLibConverter.cs
- TextFormattingConverter.cs
- DescriptionAttribute.cs
- sqlnorm.cs
- DigestComparer.cs
- SqlClientWrapperSmiStream.cs
- SimpleBitVector32.cs
- PolicyManager.cs
- SerializationAttributes.cs
- StatusBarPanelClickEvent.cs
- PageClientProxyGenerator.cs
- WorkflowServiceHostFactory.cs
- DataGridViewCellValueEventArgs.cs
- DrawingContextDrawingContextWalker.cs
- StandardCommands.cs
- ArglessEventHandlerProxy.cs
- ServiceContractViewControl.Designer.cs
- InputBinding.cs
- UInt64Storage.cs
- _SpnDictionary.cs
- EpmCustomContentWriterNodeData.cs
- TableMethodGenerator.cs
- InnerItemCollectionView.cs
- LicenseManager.cs
- WindowsListViewGroupHelper.cs
- QueryStringConverter.cs
- SQLStringStorage.cs
- SymmetricKey.cs
- DefaultBindingPropertyAttribute.cs
- BasicViewGenerator.cs
- DataControlCommands.cs
- GenericsNotImplementedException.cs
- HwndHostAutomationPeer.cs
- ContainerUIElement3D.cs
- SubstitutionResponseElement.cs
- WebControlsSection.cs
- MultiBinding.cs
- SafeLibraryHandle.cs