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
- ContainerFilterService.cs
- DocumentCollection.cs
- ToolStripComboBox.cs
- SamlConstants.cs
- CodeTypeParameterCollection.cs
- CodeDomSerializerException.cs
- HtmlForm.cs
- SpeechDetectedEventArgs.cs
- PatternMatcher.cs
- CompModSwitches.cs
- EventLogEntry.cs
- QilBinary.cs
- ServiceDebugElement.cs
- ActivityInstanceReference.cs
- AppLevelCompilationSectionCache.cs
- SqlInternalConnectionTds.cs
- ImageAutomationPeer.cs
- ListViewUpdateEventArgs.cs
- SelectionRangeConverter.cs
- CompensatableTransactionScopeActivity.cs
- ToolboxDataAttribute.cs
- AutomationIdentifier.cs
- WebPartDisplayModeCancelEventArgs.cs
- WmlCommandAdapter.cs
- ShowExpandedMultiValueConverter.cs
- CanonicalFormWriter.cs
- TextSegment.cs
- DataPagerFieldItem.cs
- RefreshEventArgs.cs
- TargetConverter.cs
- FileLoadException.cs
- InternalConfigSettingsFactory.cs
- DataGridViewRowsRemovedEventArgs.cs
- Binding.cs
- controlskin.cs
- CriticalExceptions.cs
- StreamWriter.cs
- GeometryDrawing.cs
- DependencyObjectProvider.cs
- TreeNodeEventArgs.cs
- PeerNameRecord.cs
- StyleCollection.cs
- RuleElement.cs
- HttpCapabilitiesEvaluator.cs
- NativeMethods.cs
- GridViewSelectEventArgs.cs
- XmlSchemaInferenceException.cs
- NetworkCredential.cs
- CodeAccessSecurityEngine.cs
- CultureSpecificStringDictionary.cs
- WebColorConverter.cs
- Normalization.cs
- RequiredAttributeAttribute.cs
- X509ThumbprintKeyIdentifierClause.cs
- CanonicalXml.cs
- DeriveBytes.cs
- TypeDescriptionProviderAttribute.cs
- DebuggerAttributes.cs
- AnnotationResource.cs
- GraphicsContext.cs
- QilValidationVisitor.cs
- Storyboard.cs
- SelectionHighlightInfo.cs
- DLinqColumnProvider.cs
- DataGridViewRow.cs
- BitmapEffectGeneralTransform.cs
- SerializerDescriptor.cs
- InfoCardAsymmetricCrypto.cs
- SymbolType.cs
- SystemThemeKey.cs
- Int64KeyFrameCollection.cs
- MinimizableAttributeTypeConverter.cs
- SimpleBitVector32.cs
- EntityDataSourceContainerNameConverter.cs
- RepeatBehaviorConverter.cs
- RepeaterItemEventArgs.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- TypeUtils.cs
- EditingCommands.cs
- SecurityCriticalDataForSet.cs
- FaultCode.cs
- HandleRef.cs
- TreeView.cs
- MediaPlayer.cs
- GradientStopCollection.cs
- _RequestCacheProtocol.cs
- MetaType.cs
- PerformanceCounter.cs
- DataTrigger.cs
- CodeExpressionStatement.cs
- StringInfo.cs
- DatePicker.cs
- SimpleTextLine.cs
- HelpKeywordAttribute.cs
- SubqueryRules.cs
- PhysicalAddress.cs
- ContextBase.cs
- RoleManagerSection.cs
- UseManagedPresentationBindingElement.cs
- LinqDataSourceEditData.cs