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
- DrawingBrush.cs
- DictionaryEntry.cs
- ExpressionBuilderContext.cs
- BinaryMethodMessage.cs
- PointValueSerializer.cs
- DependencyObjectProvider.cs
- ClientScriptManagerWrapper.cs
- FormViewDeleteEventArgs.cs
- StaticResourceExtension.cs
- SchemaTypeEmitter.cs
- UrlRoutingHandler.cs
- HostSecurityManager.cs
- StringArrayConverter.cs
- DbMetaDataColumnNames.cs
- Menu.cs
- RelationshipNavigation.cs
- DefaultTextStoreTextComposition.cs
- ToolboxComponentsCreatingEventArgs.cs
- ServiceErrorHandler.cs
- XmlILStorageConverter.cs
- InvalidDataException.cs
- TransformationRules.cs
- SHA384Managed.cs
- StoreUtilities.cs
- DBConcurrencyException.cs
- _StreamFramer.cs
- XPathNodeList.cs
- HttpRuntimeSection.cs
- CryptographicAttribute.cs
- WebResourceAttribute.cs
- XmlReaderSettings.cs
- EventLog.cs
- Trigger.cs
- Base64WriteStateInfo.cs
- RSAProtectedConfigurationProvider.cs
- BooleanFunctions.cs
- TriggerAction.cs
- Visual3D.cs
- PageSetupDialog.cs
- DependencyProperty.cs
- EmptyControlCollection.cs
- IISMapPath.cs
- TriggerBase.cs
- AutomationIdentifier.cs
- WorkflowServiceHost.cs
- ExplicitDiscriminatorMap.cs
- AutomationEvent.cs
- ProxyOperationRuntime.cs
- HorizontalAlignConverter.cs
- TextParaLineResult.cs
- HtmlInputReset.cs
- XmlSerializerSection.cs
- BufferBuilder.cs
- ErrorsHelper.cs
- MD5Cng.cs
- ValueSerializer.cs
- EnumerableRowCollection.cs
- CodeCatchClause.cs
- TextUtf8RawTextWriter.cs
- TagMapInfo.cs
- TranslateTransform3D.cs
- ChannelManager.cs
- ExecutionContext.cs
- documentsequencetextview.cs
- LineGeometry.cs
- TransactionContextManager.cs
- GeneratedContractType.cs
- DataServiceQueryProvider.cs
- SchemaImporterExtensionsSection.cs
- C14NUtil.cs
- EventLogConfiguration.cs
- SchemaEntity.cs
- AutomationProperty.cs
- MasterPageCodeDomTreeGenerator.cs
- Label.cs
- SoapIgnoreAttribute.cs
- TabletDevice.cs
- XmlNotation.cs
- WebPartEditorApplyVerb.cs
- TextTreeText.cs
- ParseHttpDate.cs
- webeventbuffer.cs
- SqlMethodTransformer.cs
- DataPager.cs
- ImportCatalogPart.cs
- EditorPartChrome.cs
- CodeStatementCollection.cs
- ColumnClickEvent.cs
- ExternalException.cs
- MethodToken.cs
- UncommonField.cs
- ComNativeDescriptor.cs
- Events.cs
- TraceHandler.cs
- XamlStream.cs
- TemplateColumn.cs
- XamlSerializerUtil.cs
- HashUtility.cs
- ObjectDataSourceSelectingEventArgs.cs
- CharacterHit.cs