Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Permissions / StrongNamePublicKeyBlob.cs / 1305376 / StrongNamePublicKeyBlob.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // StrongNamePublicKeyBlob.cs // //[....] // namespace System.Security.Permissions { using System; using System.Security.Util; using System.Diagnostics.Contracts; [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" ); Contract.EndContractBlock(); 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. // // ==--== // StrongNamePublicKeyBlob.cs // //[....] // namespace System.Security.Permissions { using System; using System.Security.Util; using System.Diagnostics.Contracts; [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" ); Contract.EndContractBlock(); 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SslStream.cs
- SqlServices.cs
- XmlReflectionImporter.cs
- SystemNetworkInterface.cs
- TraceInternal.cs
- PerfCounters.cs
- IdentityNotMappedException.cs
- ResourceAttributes.cs
- DSASignatureFormatter.cs
- CheckBoxPopupAdapter.cs
- State.cs
- CommonDialog.cs
- Attributes.cs
- MouseActionConverter.cs
- WindowAutomationPeer.cs
- WebHttpSecurity.cs
- Model3DGroup.cs
- DoubleCollection.cs
- DataGridViewEditingControlShowingEventArgs.cs
- VerificationAttribute.cs
- DynamicPhysicalDiscoSearcher.cs
- AssemblyEvidenceFactory.cs
- ExpressionList.cs
- MemberPath.cs
- JapaneseLunisolarCalendar.cs
- LayoutInformation.cs
- FontNamesConverter.cs
- ProxyHelper.cs
- SslStream.cs
- NativeRightsManagementAPIsStructures.cs
- SqlVisitor.cs
- ToolStripSettings.cs
- PlainXmlWriter.cs
- XmlSchemas.cs
- PassportAuthentication.cs
- SendMailErrorEventArgs.cs
- Animatable.cs
- AffineTransform3D.cs
- ActivityDesignerLayoutSerializers.cs
- Span.cs
- Expr.cs
- FormsAuthentication.cs
- VectorValueSerializer.cs
- SecondaryIndexList.cs
- TextBoxLine.cs
- PKCS1MaskGenerationMethod.cs
- RecipientInfo.cs
- DesignerSerializationOptionsAttribute.cs
- QuaternionAnimationBase.cs
- ObjectHelper.cs
- IntegerValidator.cs
- Lasso.cs
- ServiceManager.cs
- WebConfigurationHostFileChange.cs
- ExpressionVisitor.cs
- PointAnimationBase.cs
- DataObjectAttribute.cs
- EntityDataSourceReferenceGroup.cs
- TreeViewDataItemAutomationPeer.cs
- MetadataStore.cs
- HttpPostProtocolImporter.cs
- TemplateNodeContextMenu.cs
- DecimalAnimationUsingKeyFrames.cs
- Slider.cs
- TypeNameConverter.cs
- SynchronizationLockException.cs
- EdmRelationshipRoleAttribute.cs
- InternalResources.cs
- RenderDataDrawingContext.cs
- WindowsAuthenticationModule.cs
- GACMembershipCondition.cs
- PnrpPermission.cs
- ImageKeyConverter.cs
- ValidatedMobileControlConverter.cs
- MenuEventArgs.cs
- adornercollection.cs
- DataGridViewIntLinkedList.cs
- loginstatus.cs
- TextHidden.cs
- BitmapSource.cs
- DesignerProperties.cs
- EntityViewGenerator.cs
- EncodedStreamFactory.cs
- MultiTrigger.cs
- Rule.cs
- GradientStopCollection.cs
- RequestCacheEntry.cs
- SqlBulkCopy.cs
- RuleConditionDialog.cs
- HttpEncoderUtility.cs
- ProgressBar.cs
- LZCodec.cs
- ManipulationVelocities.cs
- ReliableOutputSessionChannel.cs
- BinaryObjectInfo.cs
- AddToCollection.cs
- FileUtil.cs
- ToolStripArrowRenderEventArgs.cs
- Buffer.cs
- DesignerAttributeInfo.cs