Code:
/ FX-1434 / FX-1434 / 1.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
- ServerValidateEventArgs.cs
- BindingNavigatorDesigner.cs
- TargetControlTypeCache.cs
- DSACryptoServiceProvider.cs
- ExpressionEditorAttribute.cs
- SoapReflectionImporter.cs
- CryptoKeySecurity.cs
- XmlObjectSerializerWriteContextComplex.cs
- TextContainer.cs
- SettingsPropertyWrongTypeException.cs
- XmlDataSourceNodeDescriptor.cs
- AssemblyBuilder.cs
- Brush.cs
- MultiPageTextView.cs
- CodeIterationStatement.cs
- exports.cs
- SpanIndex.cs
- BeginStoryboard.cs
- SolidColorBrush.cs
- AdornedElementPlaceholder.cs
- NonVisualControlAttribute.cs
- ToolBarDesigner.cs
- WindowsProgressbar.cs
- Operators.cs
- HiddenField.cs
- HttpStreamFormatter.cs
- AspNetHostingPermission.cs
- Point3DCollection.cs
- StylusDownEventArgs.cs
- DataGridViewButtonColumn.cs
- TextDecoration.cs
- AuthenticationModuleElement.cs
- ShortcutKeysEditor.cs
- SystemIcons.cs
- Splitter.cs
- MarkedHighlightComponent.cs
- HttpRequestCacheValidator.cs
- AuthenticationServiceManager.cs
- DPAPIProtectedConfigurationProvider.cs
- EasingQuaternionKeyFrame.cs
- MaskDescriptors.cs
- TemplateBamlTreeBuilder.cs
- ProxySimple.cs
- OutputCacheSection.cs
- AuditLog.cs
- BufferModesCollection.cs
- HttpCachePolicy.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ArithmeticException.cs
- TrackingProfile.cs
- CDSCollectionETWBCLProvider.cs
- _CommandStream.cs
- NumericUpDownAccelerationCollection.cs
- DesignerInterfaces.cs
- NullableBoolConverter.cs
- Faults.cs
- BooleanToVisibilityConverter.cs
- SingleSelectRootGridEntry.cs
- XmlSerializerFactory.cs
- CompilerGeneratedAttribute.cs
- CodeParameterDeclarationExpressionCollection.cs
- IndexingContentUnit.cs
- ProjectionCamera.cs
- DecimalAnimationUsingKeyFrames.cs
- FloatUtil.cs
- VisualProxy.cs
- LinqDataSourceValidationException.cs
- WebZone.cs
- XmlSerializationGeneratedCode.cs
- HtmlValidatorAdapter.cs
- CanonicalXml.cs
- ConfigXmlReader.cs
- Run.cs
- UnsafeNativeMethods.cs
- WmiEventSink.cs
- MouseEventArgs.cs
- HttpRequestCacheValidator.cs
- XsltLoader.cs
- TraceInternal.cs
- MediaPlayer.cs
- Queue.cs
- RichTextBox.cs
- TextCollapsingProperties.cs
- WmpBitmapEncoder.cs
- EditBehavior.cs
- localization.cs
- WebPartZone.cs
- DragStartedEventArgs.cs
- CipherData.cs
- CollectionType.cs
- DetailsViewRowCollection.cs
- ListView.cs
- DynamicMetaObject.cs
- CachedFontFace.cs
- CallbackValidator.cs
- XmlSchemaObjectCollection.cs
- StretchValidation.cs
- DtdParser.cs
- WindowsStatic.cs
- EdmConstants.cs