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
- SystemIPAddressInformation.cs
- ListBase.cs
- SqlConnectionStringBuilder.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- RangeBaseAutomationPeer.cs
- XmlUrlResolver.cs
- XmlUrlResolver.cs
- ContainerVisual.cs
- LeaseManager.cs
- ArrayList.cs
- Vector3DCollectionConverter.cs
- Serializer.cs
- PresentationTraceSources.cs
- UpdateTracker.cs
- SignatureToken.cs
- TextTreeUndo.cs
- ThousandthOfEmRealPoints.cs
- _PooledStream.cs
- XmlSerializationReader.cs
- FontUnit.cs
- TreeViewItemAutomationPeer.cs
- EventProvider.cs
- HandlerFactoryWrapper.cs
- AlignmentXValidation.cs
- DataSourceConverter.cs
- SchemaType.cs
- GridItemCollection.cs
- SqlProviderUtilities.cs
- EventWaitHandle.cs
- QueryOutputWriter.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- HtmlContainerControl.cs
- ToolboxItemCollection.cs
- wgx_commands.cs
- DataColumnSelectionConverter.cs
- DataDocumentXPathNavigator.cs
- TypeDescriptionProviderAttribute.cs
- CheckedListBox.cs
- BrowserTree.cs
- PostBackOptions.cs
- TextBoxDesigner.cs
- RuntimeHelpers.cs
- TextTreeRootNode.cs
- TraceLevelHelper.cs
- MultipartIdentifier.cs
- StorageBasedPackageProperties.cs
- ContextMenuStripActionList.cs
- MSAAWinEventWrap.cs
- DocumentXmlWriter.cs
- ToolStripSettings.cs
- Opcode.cs
- StateMachine.cs
- EntityDataSourceView.cs
- CannotUnloadAppDomainException.cs
- FileInfo.cs
- Material.cs
- DataSourceControlBuilder.cs
- XmlDomTextWriter.cs
- InkPresenter.cs
- DataBindingExpressionBuilder.cs
- EffectiveValueEntry.cs
- XsdBuildProvider.cs
- HeaderCollection.cs
- ipaddressinformationcollection.cs
- IsolatedStorageException.cs
- TypeDependencyAttribute.cs
- UndoEngine.cs
- UpdatePanelTrigger.cs
- SingleKeyFrameCollection.cs
- DataGridViewRowStateChangedEventArgs.cs
- Composition.cs
- ReaderWriterLockWrapper.cs
- CqlBlock.cs
- SystemIPInterfaceStatistics.cs
- xmlsaver.cs
- GraphicsPath.cs
- HtmlTernaryTree.cs
- CodeCatchClause.cs
- MarshalDirectiveException.cs
- TemplateControlBuildProvider.cs
- MessageQuerySet.cs
- DesignTable.cs
- BitmapEffectInputConnector.cs
- DelegateHelpers.cs
- MultipleViewProviderWrapper.cs
- CompatibleComparer.cs
- Attributes.cs
- PageThemeParser.cs
- DebugHandleTracker.cs
- DivideByZeroException.cs
- COM2PictureConverter.cs
- PopupRootAutomationPeer.cs
- PresentationSource.cs
- StringAttributeCollection.cs
- CodeArrayIndexerExpression.cs
- ControlLocalizer.cs
- TreeNodeCollection.cs
- ConnectionManagementElement.cs
- ColorConvertedBitmap.cs
- FormsAuthenticationCredentials.cs