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
- SchemaTypeEmitter.cs
- InvalidOleVariantTypeException.cs
- ContainerParagraph.cs
- HwndAppCommandInputProvider.cs
- BidirectionalDictionary.cs
- MappingMetadataHelper.cs
- FormViewPageEventArgs.cs
- __FastResourceComparer.cs
- FontConverter.cs
- InternalConfigHost.cs
- TransformerInfoCollection.cs
- Variable.cs
- XmlTypeAttribute.cs
- LocalizationParserHooks.cs
- elementinformation.cs
- EditorPartChrome.cs
- DataGridViewButtonColumn.cs
- TimeSpanOrInfiniteValidator.cs
- TimeIntervalCollection.cs
- XmlDataSource.cs
- HttpFormatExtensions.cs
- SqlDataRecord.cs
- VersionedStream.cs
- StringSource.cs
- CheckBoxPopupAdapter.cs
- MemberDomainMap.cs
- SelectingProviderEventArgs.cs
- ItemCheckEvent.cs
- SoapExtensionTypeElement.cs
- FormViewUpdateEventArgs.cs
- XmlSchemaAny.cs
- PerformanceCounter.cs
- References.cs
- BindingBase.cs
- DependsOnAttribute.cs
- DesignerAttribute.cs
- CodeTypeMember.cs
- SectionInformation.cs
- ToolStripRendererSwitcher.cs
- RepeaterItemCollection.cs
- GuidelineSet.cs
- TdsParserSessionPool.cs
- Types.cs
- DataAdapter.cs
- JoinQueryOperator.cs
- PolygonHotSpot.cs
- EncodingStreamWrapper.cs
- SpellerError.cs
- WebPartConnection.cs
- XmlSerializerAssemblyAttribute.cs
- BinaryObjectReader.cs
- DoubleAnimationBase.cs
- precedingquery.cs
- ErrorFormatterPage.cs
- XmlObjectSerializerWriteContext.cs
- WinEventTracker.cs
- NamedPipeHostedTransportConfiguration.cs
- DrawingBrush.cs
- oledbmetadatacolumnnames.cs
- TraceLevelHelper.cs
- ContentIterators.cs
- TextRangeBase.cs
- NameSpaceExtractor.cs
- BindingWorker.cs
- ContentPosition.cs
- ColorMap.cs
- ArcSegment.cs
- DescendantOverDescendantQuery.cs
- StateBag.cs
- CqlIdentifiers.cs
- BooleanAnimationBase.cs
- InputLangChangeEvent.cs
- XmlImplementation.cs
- CroppedBitmap.cs
- PingReply.cs
- SafePointer.cs
- Atom10FormatterFactory.cs
- RemotingServices.cs
- HtmlInputSubmit.cs
- BatchWriter.cs
- FontStyleConverter.cs
- ComponentDispatcherThread.cs
- Expression.cs
- XmlExtensionFunction.cs
- AppModelKnownContentFactory.cs
- unsafenativemethodsother.cs
- SimpleWorkerRequest.cs
- FontNameEditor.cs
- Transform3D.cs
- FormViewPageEventArgs.cs
- DerivedKeySecurityToken.cs
- RectValueSerializer.cs
- ProtocolElementCollection.cs
- messageonlyhwndwrapper.cs
- QilBinary.cs
- HuffModule.cs
- SchemaLookupTable.cs
- GlyphingCache.cs
- Rect3DConverter.cs
- XmlIlTypeHelper.cs