Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- EventKeyword.cs
- ConstraintStruct.cs
- HttpListenerContext.cs
- DebuggerAttributes.cs
- Publisher.cs
- TextElement.cs
- Aggregates.cs
- MouseGesture.cs
- XmlMembersMapping.cs
- XmlTypeMapping.cs
- WindowsFormsHelpers.cs
- ReceiveContext.cs
- ChtmlTextWriter.cs
- VBCodeProvider.cs
- EnumerableRowCollectionExtensions.cs
- WorkflowMessageEventHandler.cs
- ExpressionWriter.cs
- ActivityContext.cs
- COM2ExtendedBrowsingHandler.cs
- ConfigurationStrings.cs
- TransactionException.cs
- DataPagerFieldItem.cs
- SimpleBitVector32.cs
- OracleConnection.cs
- TreeViewImageIndexConverter.cs
- GlyphsSerializer.cs
- ProtocolInformationWriter.cs
- ProcessThreadCollection.cs
- ProjectionPruner.cs
- ReliableRequestSessionChannel.cs
- PropertyPushdownHelper.cs
- AppendHelper.cs
- ActiveXSite.cs
- CustomCategoryAttribute.cs
- TextTreeRootNode.cs
- Helper.cs
- SizeF.cs
- XmlNodeChangedEventArgs.cs
- DefaultAssemblyResolver.cs
- IntSecurity.cs
- PeerApplicationLaunchInfo.cs
- CategoryGridEntry.cs
- CacheEntry.cs
- ThousandthOfEmRealDoubles.cs
- CollectionBuilder.cs
- Converter.cs
- HttpListenerContext.cs
- CultureSpecificStringDictionary.cs
- InvalidFilterCriteriaException.cs
- BuilderPropertyEntry.cs
- Condition.cs
- ElapsedEventArgs.cs
- RadioButton.cs
- _CacheStreams.cs
- BitmapEffectGroup.cs
- ServerType.cs
- ObjectQuery.cs
- EncoderParameter.cs
- ReachPrintTicketSerializerAsync.cs
- KeyGesture.cs
- EventListener.cs
- ConfigurationErrorsException.cs
- HostTimeoutsElement.cs
- _TimerThread.cs
- CanExpandCollapseAllConverter.cs
- TextEditorCharacters.cs
- Material.cs
- CachedFontFamily.cs
- RepeaterItemCollection.cs
- Fault.cs
- GradientBrush.cs
- GlyphsSerializer.cs
- MetafileHeader.cs
- ToolStripContentPanel.cs
- EnlistmentState.cs
- EventDescriptorCollection.cs
- DbConnectionStringBuilder.cs
- StorageMappingItemLoader.cs
- SmiTypedGetterSetter.cs
- _DomainName.cs
- dsa.cs
- StaticExtensionConverter.cs
- DataGridCellsPanel.cs
- PropertyManager.cs
- EdmRelationshipRoleAttribute.cs
- StylusEditingBehavior.cs
- CloseSequenceResponse.cs
- TextTreeRootTextBlock.cs
- SQLBinaryStorage.cs
- InputScopeAttribute.cs
- ConfigurationSection.cs
- BitmapEffect.cs
- PointLightBase.cs
- Types.cs
- WindowsPrincipal.cs
- HttpHandler.cs
- DbException.cs
- EncoderNLS.cs
- FixedSOMSemanticBox.cs
- LicenseManager.cs