Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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 ); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CombinedGeometry.cs
- WebPartManagerInternals.cs
- HwndTarget.cs
- PartialCachingControl.cs
- RuleSetDialog.cs
- DataGridViewRowEventArgs.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- LineMetrics.cs
- EntityClientCacheKey.cs
- EditableRegion.cs
- ToolboxCategory.cs
- IconHelper.cs
- ProvidePropertyAttribute.cs
- Encoder.cs
- ReadOnlyKeyedCollection.cs
- ChameleonKey.cs
- CheckBox.cs
- Win32SafeHandles.cs
- TouchesOverProperty.cs
- Util.cs
- EntityClassGenerator.cs
- CapabilitiesSection.cs
- HttpApplication.cs
- XmlnsDictionary.cs
- HttpModuleAction.cs
- XmlCDATASection.cs
- MailDefinition.cs
- SingleResultAttribute.cs
- TreeViewEvent.cs
- FaultException.cs
- RegistrationServices.cs
- Hyperlink.cs
- TableDetailsCollection.cs
- NavigationEventArgs.cs
- TypeHelpers.cs
- HttpCacheVaryByContentEncodings.cs
- CacheDependency.cs
- KeyBinding.cs
- XmlCDATASection.cs
- ProgressBar.cs
- FixedSOMElement.cs
- StylusPointPropertyId.cs
- RealProxy.cs
- Permission.cs
- RemotingSurrogateSelector.cs
- XmlSchemaObjectTable.cs
- LoginDesignerUtil.cs
- IPCCacheManager.cs
- MergablePropertyAttribute.cs
- FileSystemEventArgs.cs
- StreamUpdate.cs
- FileLogRecordEnumerator.cs
- PathSegmentCollection.cs
- XamlToRtfWriter.cs
- RelationshipType.cs
- BitConverter.cs
- ErrorTableItemStyle.cs
- SparseMemoryStream.cs
- ContainerControl.cs
- ListMarkerLine.cs
- TypeToken.cs
- WebPartConnection.cs
- DirectoryNotFoundException.cs
- UInt64.cs
- EventsTab.cs
- QuaternionValueSerializer.cs
- StorageComplexTypeMapping.cs
- StdValidatorsAndConverters.cs
- TextContainerHelper.cs
- AggregateNode.cs
- TextMarkerSource.cs
- SectionInput.cs
- CacheMemory.cs
- BamlLocalizableResourceKey.cs
- AuthenticationModuleElement.cs
- SchemaComplexType.cs
- ObjectToken.cs
- Point3DAnimationUsingKeyFrames.cs
- PropertyManager.cs
- CreateUserWizardDesigner.cs
- AlternateViewCollection.cs
- TextChange.cs
- DeobfuscatingStream.cs
- XmlObjectSerializerReadContextComplex.cs
- CodeThrowExceptionStatement.cs
- ErrorTableItemStyle.cs
- XPathScanner.cs
- diagnosticsswitches.cs
- FormsAuthenticationModule.cs
- TemplateComponentConnector.cs
- MarkupExtensionParser.cs
- MSG.cs
- BasePropertyDescriptor.cs
- XMLSyntaxException.cs
- ValueTable.cs
- DataControlCommands.cs
- BitmapSizeOptions.cs
- DelayedRegex.cs
- QilPatternFactory.cs
- CodeDelegateCreateExpression.cs