Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- Timer.cs
- ProfilePropertySettings.cs
- PropertyCollection.cs
- Tracer.cs
- WebPartConnectionCollection.cs
- SingleObjectCollection.cs
- IFlowDocumentViewer.cs
- DateTimeFormatInfoScanner.cs
- AnnotationResourceCollection.cs
- SqlDataSourceConnectionPanel.cs
- AutomationAttributeInfo.cs
- EntityViewContainer.cs
- CounterSampleCalculator.cs
- ChannelListenerBase.cs
- DataExchangeServiceBinder.cs
- FormatException.cs
- RadioButtonDesigner.cs
- MimeWriter.cs
- BitmapImage.cs
- GridViewRow.cs
- AnonymousIdentificationModule.cs
- HostVisual.cs
- GeometryConverter.cs
- SelectedGridItemChangedEvent.cs
- XmlSchemaValidator.cs
- EncoderNLS.cs
- DbConnectionPoolIdentity.cs
- AuthorizationRuleCollection.cs
- RootBrowserWindowProxy.cs
- PersonalizationStateInfo.cs
- WindowsFormsSynchronizationContext.cs
- NetPipeSection.cs
- PageHandlerFactory.cs
- CustomError.cs
- VirtualDirectoryMappingCollection.cs
- WinEventWrap.cs
- GridItemPatternIdentifiers.cs
- LinqDataSourceSelectEventArgs.cs
- HandledEventArgs.cs
- ListItemConverter.cs
- UnsafePeerToPeerMethods.cs
- IndexingContentUnit.cs
- MatrixTransform.cs
- DataGridRowClipboardEventArgs.cs
- MdiWindowListItemConverter.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- PolyQuadraticBezierSegment.cs
- ResolveMatches11.cs
- CodeExporter.cs
- DataPagerCommandEventArgs.cs
- FontCacheLogic.cs
- DragAssistanceManager.cs
- WindowsAltTab.cs
- NotSupportedException.cs
- MailAddress.cs
- MimeMultiPart.cs
- UniqueConstraint.cs
- StorageMappingFragment.cs
- AssemblyCollection.cs
- EventProviderWriter.cs
- WebPartEditorOkVerb.cs
- TryCatchDesigner.xaml.cs
- ScriptDescriptor.cs
- TableLayoutCellPaintEventArgs.cs
- HttpResponse.cs
- MenuBase.cs
- SerializationAttributes.cs
- Compiler.cs
- QueryCacheKey.cs
- MissingManifestResourceException.cs
- InboundActivityHelper.cs
- KeyEventArgs.cs
- MouseGestureValueSerializer.cs
- DecoratedNameAttribute.cs
- HMACSHA256.cs
- SafeSecurityHelper.cs
- NameValueSectionHandler.cs
- MetabaseServerConfig.cs
- NullNotAllowedCollection.cs
- FieldBuilder.cs
- ForwardPositionQuery.cs
- MediaElement.cs
- ControlBindingsCollection.cs
- RSACryptoServiceProvider.cs
- ByteRangeDownloader.cs
- ImpersonationContext.cs
- PageThemeCodeDomTreeGenerator.cs
- SemaphoreSecurity.cs
- SslStream.cs
- BatchParser.cs
- TrackingValidationObjectDictionary.cs
- EditBehavior.cs
- SessionIDManager.cs
- OutputChannel.cs
- Padding.cs
- OleDbPermission.cs
- LogWriteRestartAreaAsyncResult.cs
- HtmlTitle.cs
- FixedHighlight.cs
- InvalidContentTypeException.cs