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
- DependencyObjectCodeDomSerializer.cs
- AdjustableArrowCap.cs
- CompoundFileStorageReference.cs
- StoryFragments.cs
- PreProcessInputEventArgs.cs
- latinshape.cs
- FontNameConverter.cs
- FixedHyperLink.cs
- TraceSection.cs
- DocumentViewerAutomationPeer.cs
- SafeNativeMethods.cs
- DbProviderConfigurationHandler.cs
- SafeNativeMemoryHandle.cs
- SmtpLoginAuthenticationModule.cs
- ToolStripRenderEventArgs.cs
- XPathNavigator.cs
- SqlMethodTransformer.cs
- SafeNativeMethods.cs
- RMEnrollmentPage1.cs
- ContextMenu.cs
- OverloadGroupAttribute.cs
- BlurEffect.cs
- ControlCollection.cs
- EditorPartChrome.cs
- DecimalAverageAggregationOperator.cs
- MetadataPropertyAttribute.cs
- GridViewDeleteEventArgs.cs
- DesignerTransaction.cs
- DebugController.cs
- WCFModelStrings.Designer.cs
- DecodeHelper.cs
- ToolStripContentPanelDesigner.cs
- WebRequestModulesSection.cs
- EntitySqlQueryBuilder.cs
- BaseTemplateBuildProvider.cs
- IxmlLineInfo.cs
- UpDownBaseDesigner.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- OracleTransaction.cs
- PathStreamGeometryContext.cs
- Unit.cs
- Triplet.cs
- OptimizedTemplateContentHelper.cs
- MetadataException.cs
- ManagedIStream.cs
- basemetadatamappingvisitor.cs
- AuthenticateEventArgs.cs
- SendMailErrorEventArgs.cs
- DiscreteKeyFrames.cs
- ISFClipboardData.cs
- HtmlTableCell.cs
- OleDbParameterCollection.cs
- BindingNavigator.cs
- PackageDigitalSignatureManager.cs
- ScriptResourceHandler.cs
- MethodBody.cs
- FloatAverageAggregationOperator.cs
- GetKeyedHashRequest.cs
- MatrixTransform.cs
- TypeConverterHelper.cs
- QuaternionAnimation.cs
- MetaType.cs
- Parser.cs
- shaperfactoryquerycacheentry.cs
- RegistrySecurity.cs
- WindowInteractionStateTracker.cs
- StylusPoint.cs
- CheckBoxStandardAdapter.cs
- BindingMemberInfo.cs
- PageContentAsyncResult.cs
- LocatorGroup.cs
- XPathNavigatorReader.cs
- DataGridCellsPresenter.cs
- InstanceDataCollection.cs
- PreProcessInputEventArgs.cs
- WebPartTransformerAttribute.cs
- TemplateKey.cs
- FormConverter.cs
- ImageListStreamer.cs
- Stroke.cs
- BooleanFunctions.cs
- AdapterUtil.cs
- LogWriteRestartAreaAsyncResult.cs
- PermissionSet.cs
- CharacterShapingProperties.cs
- HebrewCalendar.cs
- ParseChildrenAsPropertiesAttribute.cs
- RoutedCommand.cs
- MetadataException.cs
- oledbconnectionstring.cs
- MarkupExtensionSerializer.cs
- DataProviderNameConverter.cs
- SplitContainer.cs
- XComponentModel.cs
- StorageTypeMapping.cs
- NamespaceDisplay.xaml.cs
- SplashScreen.cs
- DropShadowEffect.cs
- FilterException.cs
- OpenTypeMethods.cs