Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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. // // ==--== // 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TraceXPathNavigator.cs
- ServiceParser.cs
- ExecutorLocksHeldException.cs
- Model3DGroup.cs
- FixedSOMElement.cs
- LogPolicy.cs
- DefaultHttpHandler.cs
- TextParagraphCache.cs
- DispatcherObject.cs
- EventToken.cs
- LineServicesRun.cs
- SoapConverter.cs
- FixedStringLookup.cs
- ClientRuntimeConfig.cs
- WindowsFormsHostPropertyMap.cs
- DayRenderEvent.cs
- PointValueSerializer.cs
- DataContract.cs
- XmlSchemaImporter.cs
- HtmlPageAdapter.cs
- PropertyRecord.cs
- DesignerSerializationManager.cs
- CacheModeConverter.cs
- designeractionlistschangedeventargs.cs
- AsyncResult.cs
- SqlOuterApplyReducer.cs
- Zone.cs
- SplayTreeNode.cs
- HashHelper.cs
- ScriptResourceAttribute.cs
- DispatcherEventArgs.cs
- PixelFormats.cs
- autovalidator.cs
- KeysConverter.cs
- PagesChangedEventArgs.cs
- PixelFormats.cs
- GrowingArray.cs
- CompoundFileDeflateTransform.cs
- AddressingProperty.cs
- EntityCommand.cs
- TextTreeTextNode.cs
- CreateUserWizard.cs
- DbConnectionPoolGroup.cs
- PerformanceCounterManager.cs
- ActivityInstanceReference.cs
- RemotingConfiguration.cs
- ByteKeyFrameCollection.cs
- RtfNavigator.cs
- DebugView.cs
- DocumentReferenceCollection.cs
- InternalConfigEventArgs.cs
- cryptoapiTransform.cs
- ButtonBaseAutomationPeer.cs
- TransformPatternIdentifiers.cs
- precedingquery.cs
- SHA512CryptoServiceProvider.cs
- ObsoleteAttribute.cs
- ProfileParameter.cs
- TabControlEvent.cs
- ControlCommandSet.cs
- ValidationRule.cs
- CngKey.cs
- TreeNodeEventArgs.cs
- SafeProcessHandle.cs
- ServiceHostFactory.cs
- SecurityContext.cs
- DiscriminatorMap.cs
- FacetDescription.cs
- TextTreeTextBlock.cs
- WinEventWrap.cs
- DefaultBindingPropertyAttribute.cs
- PaintEvent.cs
- ProcessModelSection.cs
- StrokeCollection.cs
- VirtualDirectoryMappingCollection.cs
- DocumentSequence.cs
- TableHeaderCell.cs
- ControlPaint.cs
- ColorMatrix.cs
- recordstatescratchpad.cs
- SqlDataSourceConfigureSortForm.cs
- HMACSHA384.cs
- XmlCustomFormatter.cs
- Schema.cs
- HtmlForm.cs
- BackgroundWorker.cs
- HtmlLink.cs
- MetadataItem_Static.cs
- PrtTicket_Editor.cs
- InstanceNotFoundException.cs
- TextProperties.cs
- InstalledVoice.cs
- QilXmlWriter.cs
- ArgumentNullException.cs
- ReverseQueryOperator.cs
- BasicBrowserDialog.designer.cs
- RotateTransform.cs
- InsufficientMemoryException.cs
- SaveRecipientRequest.cs
- TypeRefElement.cs