Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SubpageParaClient.cs
- SqlErrorCollection.cs
- NamedElement.cs
- Rotation3DKeyFrameCollection.cs
- StandardOleMarshalObject.cs
- CultureInfoConverter.cs
- NameValueConfigurationElement.cs
- InstanceData.cs
- BoundColumn.cs
- XmlExtensionFunction.cs
- SQLDecimal.cs
- StringWriter.cs
- AxWrapperGen.cs
- BuildResultCache.cs
- XsltLibrary.cs
- SqlCachedBuffer.cs
- KoreanCalendar.cs
- ZipIORawDataFileBlock.cs
- InternalTypeHelper.cs
- SendMessageContent.cs
- SafeArrayRankMismatchException.cs
- ObjectTypeMapping.cs
- QilLoop.cs
- RemotingException.cs
- ArcSegment.cs
- NullableIntMinMaxAggregationOperator.cs
- WriteFileContext.cs
- WebRequestModuleElementCollection.cs
- StringAnimationBase.cs
- TransformerTypeCollection.cs
- MailWebEventProvider.cs
- FontFamily.cs
- InputScopeConverter.cs
- CatalogZoneBase.cs
- HtmlTableRow.cs
- EventProviderTraceListener.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- MailWriter.cs
- GroupQuery.cs
- CustomErrorCollection.cs
- WMIGenerator.cs
- MgmtConfigurationRecord.cs
- MultipleViewPattern.cs
- FormsAuthenticationCredentials.cs
- XsdCachingReader.cs
- FontFamily.cs
- SynchronizationHandlesCodeDomSerializer.cs
- HttpDictionary.cs
- DataKeyPropertyAttribute.cs
- SiteMapHierarchicalDataSourceView.cs
- SourceFileInfo.cs
- PresentationAppDomainManager.cs
- BadImageFormatException.cs
- XmlReader.cs
- CryptoHelper.cs
- SerializableAttribute.cs
- ChtmlPhoneCallAdapter.cs
- XmlNodeReader.cs
- COM2EnumConverter.cs
- InternalCache.cs
- PropertyReferenceExtension.cs
- StrongNameUtility.cs
- RegistrySecurity.cs
- GlobalEventManager.cs
- BulletedList.cs
- ProxyHwnd.cs
- TextTreeDeleteContentUndoUnit.cs
- FixedDocumentSequencePaginator.cs
- HideDisabledControlAdapter.cs
- DataGridViewButtonCell.cs
- StatusCommandUI.cs
- DataGridViewRowsAddedEventArgs.cs
- HighlightComponent.cs
- WhitespaceRuleReader.cs
- AnyAllSearchOperator.cs
- LocalizedNameDescriptionPair.cs
- ExtenderProvidedPropertyAttribute.cs
- RC2CryptoServiceProvider.cs
- SingleObjectCollection.cs
- httpstaticobjectscollection.cs
- TimeoutHelper.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SQLMoney.cs
- TextEditorSpelling.cs
- ProfileInfo.cs
- GrammarBuilderBase.cs
- XmlProcessingInstruction.cs
- View.cs
- ComplexPropertyEntry.cs
- PeerService.cs
- RadioButton.cs
- WrappingXamlSchemaContext.cs
- ParseHttpDate.cs
- IdnElement.cs
- WsiProfilesElement.cs
- CompilerScopeManager.cs
- ListViewSelectEventArgs.cs
- MetadataArtifactLoaderCompositeResource.cs
- AccessDataSource.cs
- CompilerErrorCollection.cs