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
- OutKeywords.cs
- XmlValueConverter.cs
- ListControl.cs
- LogReserveAndAppendState.cs
- Rule.cs
- Int16.cs
- InheritanceAttribute.cs
- PeerResolverElement.cs
- DeclarativeConditionsCollection.cs
- PageVisual.cs
- ScriptResourceHandler.cs
- ErrorLog.cs
- ArraySortHelper.cs
- ITextView.cs
- ExpressionBuilderContext.cs
- SchemeSettingElement.cs
- InputLanguageCollection.cs
- ErrorInfoXmlDocument.cs
- DiscoveryService.cs
- SafeSystemMetrics.cs
- MatrixAnimationBase.cs
- DbConnectionPool.cs
- ClaimTypes.cs
- NumberFormatInfo.cs
- InvalidAsynchronousStateException.cs
- DetailsViewInsertEventArgs.cs
- NavigateEvent.cs
- GeneralTransform.cs
- RelationshipEntry.cs
- DataMemberConverter.cs
- EventBuilder.cs
- ScrollChrome.cs
- Main.cs
- LinqDataSourceInsertEventArgs.cs
- PeerResolverBindingElement.cs
- Path.cs
- KeyboardDevice.cs
- MetadataWorkspace.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- _HTTPDateParse.cs
- Permission.cs
- UseAttributeSetsAction.cs
- ObjectStateFormatter.cs
- OwnerDrawPropertyBag.cs
- _TLSstream.cs
- ToolStripLabel.cs
- RotationValidation.cs
- _emptywebproxy.cs
- CheckableControlBaseAdapter.cs
- HttpBrowserCapabilitiesWrapper.cs
- DynamicValidatorEventArgs.cs
- Signature.cs
- EventBookmark.cs
- HostingEnvironmentSection.cs
- ScaleTransform3D.cs
- CachedCompositeFamily.cs
- XmlEventCache.cs
- ProfileServiceManager.cs
- Crc32.cs
- CqlBlock.cs
- RelationshipEnd.cs
- GeneralTransform3DTo2DTo3D.cs
- ChangeBlockUndoRecord.cs
- DefaultAssemblyResolver.cs
- BindingExpression.cs
- QilSortKey.cs
- AssemblyUtil.cs
- SqlProcedureAttribute.cs
- InteropBitmapSource.cs
- ActivityExecutionContext.cs
- COM2IPerPropertyBrowsingHandler.cs
- SystemTcpConnection.cs
- AtlasWeb.Designer.cs
- StatusBarItemAutomationPeer.cs
- DoubleLink.cs
- Image.cs
- arclist.cs
- X509PeerCertificateAuthentication.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- AssemblyCache.cs
- PerformanceCounterPermissionEntryCollection.cs
- HtmlInputControl.cs
- PanelDesigner.cs
- MemoryRecordBuffer.cs
- IncrementalCompileAnalyzer.cs
- ImageClickEventArgs.cs
- PeerNameResolver.cs
- SEHException.cs
- HtmlPageAdapter.cs
- MimeParameters.cs
- OracleConnectionString.cs
- NativeRecognizer.cs
- TraceHandler.cs
- ProcessHostMapPath.cs
- MeshGeometry3D.cs
- CommandField.cs
- GraphicsPathIterator.cs
- CodeLinePragma.cs
- CreationContext.cs
- CatalogPart.cs