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
- HttpPostedFile.cs
- Pts.cs
- RegistrationServices.cs
- SystemEvents.cs
- KeyInterop.cs
- ChineseLunisolarCalendar.cs
- AnnotationComponentManager.cs
- BinaryObjectInfo.cs
- SocketManager.cs
- XmlRootAttribute.cs
- CompareValidator.cs
- OdbcParameterCollection.cs
- FreezableOperations.cs
- InputDevice.cs
- NavigatingCancelEventArgs.cs
- SkewTransform.cs
- LabelTarget.cs
- HeaderUtility.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- PropertyCollection.cs
- ColorConvertedBitmapExtension.cs
- SerializationInfo.cs
- InternalPermissions.cs
- HyperLinkField.cs
- EncryptedData.cs
- ImageUrlEditor.cs
- listitem.cs
- ListParagraph.cs
- TextEditor.cs
- MergeLocalizationDirectives.cs
- EntityChangedParams.cs
- TemplateParser.cs
- XmlTextWriter.cs
- TreeNode.cs
- TdsParameterSetter.cs
- SystemFonts.cs
- CatalogZoneAutoFormat.cs
- DirectionalLight.cs
- BitmapMetadataEnumerator.cs
- TransformationRules.cs
- NegatedCellConstant.cs
- ExpandSegment.cs
- ActivityDesignerLayoutSerializers.cs
- PartialArray.cs
- ZipIOLocalFileBlock.cs
- TimeManager.cs
- Codec.cs
- Bezier.cs
- CheckBoxList.cs
- ClientSideQueueItem.cs
- DoubleAnimationClockResource.cs
- PlainXmlDeserializer.cs
- OpenTypeLayout.cs
- OperandQuery.cs
- SafeFindHandle.cs
- Activity.cs
- XmlCharacterData.cs
- DecoderExceptionFallback.cs
- FixedPosition.cs
- TreeNode.cs
- PropertyItemInternal.cs
- FilterQueryOptionExpression.cs
- RawStylusSystemGestureInputReport.cs
- FileDialog_Vista.cs
- ViewValidator.cs
- LocatorGroup.cs
- WebBaseEventKeyComparer.cs
- DSASignatureFormatter.cs
- Solver.cs
- PersonalizationProviderCollection.cs
- DataGridViewElement.cs
- MergeEnumerator.cs
- VariableAction.cs
- RegistrationServices.cs
- FormsAuthenticationModule.cs
- MergePropertyDescriptor.cs
- SqlHelper.cs
- ObjectItemAttributeAssemblyLoader.cs
- InfoCardTraceRecord.cs
- Condition.cs
- AddInServer.cs
- Win32.cs
- NamespaceDisplay.xaml.cs
- ClientTargetCollection.cs
- GridViewDeletedEventArgs.cs
- ResolveCriteria11.cs
- ListBoxChrome.cs
- PagerSettings.cs
- WindowsListViewScroll.cs
- DatatypeImplementation.cs
- XPathSelectionIterator.cs
- CompiledQueryCacheEntry.cs
- XmlValidatingReaderImpl.cs
- AdvancedBindingPropertyDescriptor.cs
- LinkedResourceCollection.cs
- TextFormatterHost.cs
- XPathSelectionIterator.cs
- PageCodeDomTreeGenerator.cs
- PropertyChangedEventArgs.cs
- VersionedStreamOwner.cs