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
- WebPartHelpVerb.cs
- ValidateNames.cs
- WindowInteropHelper.cs
- basecomparevalidator.cs
- LowerCaseStringConverter.cs
- SynchronizedDispatch.cs
- AsyncWaitHandle.cs
- Accessible.cs
- XamlSerializationHelper.cs
- FontConverter.cs
- RegistryPermission.cs
- LocatorManager.cs
- NextPreviousPagerField.cs
- MobileListItem.cs
- PublishLicense.cs
- MouseOverProperty.cs
- ListControlDesigner.cs
- DropShadowBitmapEffect.cs
- BindToObject.cs
- PersonalizationProviderCollection.cs
- SqlBuilder.cs
- StorageAssociationSetMapping.cs
- AnnouncementService.cs
- InfoCardTraceRecord.cs
- FileStream.cs
- CroppedBitmap.cs
- CryptoStream.cs
- DateRangeEvent.cs
- BinHexEncoding.cs
- ForceCopyBuildProvider.cs
- ScriptIgnoreAttribute.cs
- RoutedUICommand.cs
- OdbcCommandBuilder.cs
- MetadataItem_Static.cs
- _OverlappedAsyncResult.cs
- TreeIterators.cs
- XPathSelectionIterator.cs
- DesignTimeTemplateParser.cs
- ScriptManager.cs
- BevelBitmapEffect.cs
- Rect3DValueSerializer.cs
- wmiprovider.cs
- FatalException.cs
- DataServiceHost.cs
- DataException.cs
- ProviderUtil.cs
- Repeater.cs
- ReachDocumentPageSerializerAsync.cs
- SharedUtils.cs
- EventRouteFactory.cs
- SizeAnimationBase.cs
- XmlTypeAttribute.cs
- HtmlElementErrorEventArgs.cs
- XslException.cs
- ListItemCollection.cs
- SelectionProcessor.cs
- Pair.cs
- LinkConverter.cs
- TextRunProperties.cs
- OperatorExpressions.cs
- TCEAdapterGenerator.cs
- ImportContext.cs
- TerminateDesigner.cs
- CompilerTypeWithParams.cs
- PassportAuthentication.cs
- ComAdminWrapper.cs
- StrongNameSignatureInformation.cs
- FormsAuthentication.cs
- Configuration.cs
- SqlTypeConverter.cs
- ProcessModelInfo.cs
- ListBoxItem.cs
- DataTableNewRowEvent.cs
- Image.cs
- GatewayDefinition.cs
- TextPenaltyModule.cs
- SmtpMail.cs
- AlternateViewCollection.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- StateInitialization.cs
- Transform3DGroup.cs
- ElementProxy.cs
- GroupQuery.cs
- CommandHelper.cs
- ImageListUtils.cs
- ObjectFullSpanRewriter.cs
- RuleElement.cs
- Identity.cs
- SystemNetHelpers.cs
- VectorAnimation.cs
- XmlDataLoader.cs
- Vector.cs
- Int32Storage.cs
- IApplicationTrustManager.cs
- AuthorizationRuleCollection.cs
- DisableDpiAwarenessAttribute.cs
- FormatException.cs
- PackageDigitalSignatureManager.cs
- Int64AnimationUsingKeyFrames.cs
- DefaultEvaluationContext.cs