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
- RequestQueryParser.cs
- DefaultBinder.cs
- StoreAnnotationsMap.cs
- NullReferenceException.cs
- TransformCollection.cs
- ImageButton.cs
- PropertyConverter.cs
- GenericPrincipal.cs
- TransformProviderWrapper.cs
- SerializationTrace.cs
- InstalledFontCollection.cs
- BindableAttribute.cs
- XmlNullResolver.cs
- CompilationUtil.cs
- MiniMapControl.xaml.cs
- HtmlSelect.cs
- MsmqActivation.cs
- TypeResolver.cs
- ClockController.cs
- NativeMethods.cs
- DataGridColumnCollection.cs
- DashStyle.cs
- ValidatingPropertiesEventArgs.cs
- DesignTimeParseData.cs
- NativeMethods.cs
- CommandField.cs
- WebPartEditorCancelVerb.cs
- ClientOptions.cs
- DataBindEngine.cs
- OracleConnection.cs
- NativeMethods.cs
- BooleanFunctions.cs
- VBIdentifierTrimConverter.cs
- SHA1Managed.cs
- PasswordBoxAutomationPeer.cs
- ClassicBorderDecorator.cs
- DispatcherHookEventArgs.cs
- SamlAttribute.cs
- PropertyEmitterBase.cs
- ChtmlFormAdapter.cs
- XmlSchemaImporter.cs
- ADMembershipProvider.cs
- Thickness.cs
- AmbiguousMatchException.cs
- StylusPointPropertyUnit.cs
- SimpleBitVector32.cs
- SmiEventSink_DeferedProcessing.cs
- WebHttpSecurityElement.cs
- XmlDataLoader.cs
- JoinElimination.cs
- DataSourceProvider.cs
- CollectionChange.cs
- ObjectDisposedException.cs
- XhtmlConformanceSection.cs
- MyContact.cs
- FragmentNavigationEventArgs.cs
- nulltextnavigator.cs
- BindingMAnagerBase.cs
- TransformedBitmap.cs
- EntityDataSourceViewSchema.cs
- SocketAddress.cs
- CommandBindingCollection.cs
- PipelineModuleStepContainer.cs
- ActivityDesignerHighlighter.cs
- IsolatedStorageFileStream.cs
- GeneratedContractType.cs
- ThicknessAnimationBase.cs
- Slider.cs
- StreamHelper.cs
- Int64Animation.cs
- SymbolPair.cs
- SecurityTimestamp.cs
- ScalarConstant.cs
- PageContentAsyncResult.cs
- ListParagraph.cs
- PointAnimationUsingKeyFrames.cs
- JsonReaderWriterFactory.cs
- DetailsViewModeEventArgs.cs
- UdpDiscoveryMessageFilter.cs
- XmlSerializerFactory.cs
- DataGridViewCellParsingEventArgs.cs
- PersonalizationStateInfoCollection.cs
- CoreChannel.cs
- RelationshipNavigation.cs
- AmbientProperties.cs
- ComponentResourceManager.cs
- QueryCursorEventArgs.cs
- BitmapFrame.cs
- DataSvcMapFile.cs
- DropShadowBitmapEffect.cs
- SchemaCollectionCompiler.cs
- PropertyPathWorker.cs
- ListViewEditEventArgs.cs
- WebPartEditorOkVerb.cs
- BrowserDefinition.cs
- InvokePatternIdentifiers.cs
- EntityDataSourceStatementEditor.cs
- TransformGroup.cs
- SrgsOneOf.cs
- ExclusiveTcpTransportManager.cs