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
- OdbcPermission.cs
- AppDomainEvidenceFactory.cs
- WCFBuildProvider.cs
- BindingNavigator.cs
- DataControlLinkButton.cs
- SafeCryptContextHandle.cs
- TypefaceMetricsCache.cs
- ResponseStream.cs
- Rotation3D.cs
- TCPClient.cs
- MemoryFailPoint.cs
- TaskForm.cs
- ClientUrlResolverWrapper.cs
- QilCloneVisitor.cs
- StringKeyFrameCollection.cs
- EnterpriseServicesHelper.cs
- SrgsGrammar.cs
- XmlTextEncoder.cs
- OleDbException.cs
- SequenceDesigner.cs
- hwndwrapper.cs
- XmlDataCollection.cs
- CompositionAdorner.cs
- HwndKeyboardInputProvider.cs
- AutoResizedEvent.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- MatrixStack.cs
- Transform3DGroup.cs
- AndCondition.cs
- Margins.cs
- DataSourceGeneratorException.cs
- CompositeScriptReference.cs
- AlternateViewCollection.cs
- Panel.cs
- ConnectionInterfaceCollection.cs
- ProviderIncompatibleException.cs
- SymbolTable.cs
- SubpageParaClient.cs
- Italic.cs
- ConnectionStringsSection.cs
- UnsafeNetInfoNativeMethods.cs
- NamespaceList.cs
- ScriptResourceInfo.cs
- DirectoryInfo.cs
- BroadcastEventHelper.cs
- TargetConverter.cs
- OleDbConnection.cs
- ReflectionHelper.cs
- TogglePattern.cs
- MethodBuilderInstantiation.cs
- FormView.cs
- Int32EqualityComparer.cs
- BridgeDataRecord.cs
- ReplyChannel.cs
- AutoResizedEvent.cs
- ColorAnimationBase.cs
- SrgsText.cs
- TableItemProviderWrapper.cs
- sapiproxy.cs
- NoClickablePointException.cs
- StrokeIntersection.cs
- CustomErrorsSection.cs
- ContactManager.cs
- TextViewSelectionProcessor.cs
- safesecurityhelperavalon.cs
- TextBlockAutomationPeer.cs
- ContainerControl.cs
- DefaultValueTypeConverter.cs
- XmlSchemaInclude.cs
- MulticastOption.cs
- DesignSurfaceCollection.cs
- RequestQueue.cs
- ProviderCommandInfoUtils.cs
- CapabilitiesState.cs
- isolationinterop.cs
- FileUtil.cs
- XmlSchemaSubstitutionGroup.cs
- ProjectionPlanCompiler.cs
- MenuStrip.cs
- FillBehavior.cs
- TabletDevice.cs
- FrameworkTemplate.cs
- XPathNavigatorKeyComparer.cs
- RuntimeConfig.cs
- RunClient.cs
- TypeValidationEventArgs.cs
- SoapAttributes.cs
- LinqExpressionNormalizer.cs
- SupportsEventValidationAttribute.cs
- TreeNodeClickEventArgs.cs
- SplitterCancelEvent.cs
- RegexMatchCollection.cs
- MultiTouchSystemGestureLogic.cs
- OrderedDictionaryStateHelper.cs
- ScaleTransform.cs
- NativeWindow.cs
- SqlClientWrapperSmiStream.cs
- KeySplineConverter.cs
- ParameterElement.cs
- nulltextnavigator.cs