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
- ControlTemplate.cs
- UpnEndpointIdentity.cs
- DataGridLinkButton.cs
- Crc32.cs
- LicenseManager.cs
- ConnectionPointCookie.cs
- UnionCodeGroup.cs
- RegexStringValidator.cs
- XamlTypeMapper.cs
- ToolboxItemAttribute.cs
- BindStream.cs
- DynamicResourceExtension.cs
- PointCollectionValueSerializer.cs
- DbProviderConfigurationHandler.cs
- PropertyChangedEventManager.cs
- Wizard.cs
- SystemWebCachingSectionGroup.cs
- SQLDecimalStorage.cs
- TableSectionStyle.cs
- StackSpiller.cs
- PrinterUnitConvert.cs
- SystemWebSectionGroup.cs
- PersonalizationEntry.cs
- LinqDataSourceHelper.cs
- PhonemeConverter.cs
- LightweightCodeGenerator.cs
- GlyphRunDrawing.cs
- CloseCollectionAsyncResult.cs
- UIAgentInitializationException.cs
- ReturnValue.cs
- MenuItemStyle.cs
- ReadOnlyCollectionBuilder.cs
- MissingManifestResourceException.cs
- PartialList.cs
- SpotLight.cs
- DataGridViewCellConverter.cs
- WindowsTab.cs
- FlowDocumentPaginator.cs
- TextRangeEditTables.cs
- WebPartConnectionsCancelVerb.cs
- ExpressionConverter.cs
- _SslStream.cs
- EventLogPermissionEntry.cs
- SplashScreen.cs
- FilteredDataSetHelper.cs
- Environment.cs
- TextCharacters.cs
- ValidationSummary.cs
- HijriCalendar.cs
- RenameRuleObjectDialog.Designer.cs
- XdrBuilder.cs
- SystemParameters.cs
- ValidationService.cs
- BaseParser.cs
- PageParser.cs
- InstanceKeyNotReadyException.cs
- DynamicActivityProperty.cs
- ICspAsymmetricAlgorithm.cs
- ImageDrawing.cs
- RadioButtonRenderer.cs
- CompilerResults.cs
- SystemInfo.cs
- BufferedGraphicsContext.cs
- uribuilder.cs
- QilTargetType.cs
- TabletCollection.cs
- PingOptions.cs
- Mappings.cs
- TypeElementCollection.cs
- ModelItemExtensions.cs
- SafePointer.cs
- SqlProfileProvider.cs
- CombinedGeometry.cs
- Int64Converter.cs
- CodePageUtils.cs
- DeviceContexts.cs
- AnnouncementEndpoint.cs
- ConfigXmlComment.cs
- CacheManager.cs
- Literal.cs
- ITreeGenerator.cs
- CommandExpr.cs
- DataRelationPropertyDescriptor.cs
- DataSetMappper.cs
- FixedPageStructure.cs
- DefaultShape.cs
- DataContractSerializer.cs
- Encoding.cs
- TransactionScope.cs
- FileSecurity.cs
- OptionalColumn.cs
- HtmlTableCellCollection.cs
- CodeStatement.cs
- SerialPinChanges.cs
- DataGridSortCommandEventArgs.cs
- SymbolPair.cs
- AnnotationComponentManager.cs
- ErrorTableItemStyle.cs
- BookmarkScopeHandle.cs
- DeclarativeCatalogPart.cs