Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / Core / SecureStringHasher.cs / 1 / SecureStringHasher.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Collections.Generic; namespace System.Xml { // SecureStringHasher is a hash code provider for strings. The hash codes calculation starts with a seed (hasCodeRandomizer) which is usually // different for each instance of SecureStringHasher. Since the hash code depend on the seed, the chance of hashtable DoS attack in case when // someone passes in lots of strings that hash to the same hash code is greatly reduced. // The SecureStringHasher implements IEqualityComparer for strings and therefore can be used in generic IDictionary. internal class SecureStringHasher : IEqualityComparer{ int hashCodeRandomizer; public SecureStringHasher() { this.hashCodeRandomizer = Environment.TickCount; } public SecureStringHasher( int hashCodeRandomizer ) { this.hashCodeRandomizer = hashCodeRandomizer; } public int Compare( String x, String y ) { return String.Compare(x, y, StringComparison.Ordinal); } public bool Equals( String x, String y ) { return String.Equals( x, y, StringComparison.Ordinal ); } public int GetHashCode( String key ) { int hashCode = hashCodeRandomizer; // use key.Length to eliminate the rangecheck for ( int i = 0; i < key.Length; i++ ) { hashCode += ( hashCode << 7 ) ^ key[i]; } // mix it a bit more hashCode -= hashCode >> 17; hashCode -= hashCode >> 11; hashCode -= hashCode >> 5; return hashCode; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FormViewDeleteEventArgs.cs
- WindowsTokenRoleProvider.cs
- ContextMenuStripActionList.cs
- ResumeStoryboard.cs
- SpecularMaterial.cs
- EventDescriptorCollection.cs
- ToolStripSettings.cs
- SchemaObjectWriter.cs
- TextElementCollectionHelper.cs
- PageThemeCodeDomTreeGenerator.cs
- DbConnectionStringBuilder.cs
- DiscardableAttribute.cs
- Exception.cs
- ConfigXmlElement.cs
- WebPartTransformerAttribute.cs
- TextTreeObjectNode.cs
- SettingsPropertyValueCollection.cs
- HttpHeaderCollection.cs
- StackBuilderSink.cs
- Empty.cs
- Oci.cs
- SqlReorderer.cs
- TableCell.cs
- FixedSOMElement.cs
- DataServiceStreamResponse.cs
- DataRelationCollection.cs
- AbsoluteQuery.cs
- PropertyInformation.cs
- GridViewColumnCollection.cs
- SectionUpdates.cs
- TextEffect.cs
- TextBox.cs
- RangeValuePattern.cs
- EdmError.cs
- MessageBox.cs
- Ref.cs
- MenuAdapter.cs
- InternalRelationshipCollection.cs
- BamlStream.cs
- SetterBaseCollection.cs
- XmlSchemaComplexContent.cs
- RtType.cs
- SqlFunctionAttribute.cs
- MethodBuilderInstantiation.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- MobileControlsSectionHandler.cs
- NotifyInputEventArgs.cs
- TableLayoutRowStyleCollection.cs
- FormViewActionList.cs
- CopyNamespacesAction.cs
- BaseWebProxyFinder.cs
- SerializationUtility.cs
- StringUtil.cs
- ComboBoxAutomationPeer.cs
- NameValueCollection.cs
- Activator.cs
- AmbientProperties.cs
- XPSSignatureDefinition.cs
- LinqDataSourceInsertEventArgs.cs
- ValidationRuleCollection.cs
- TraceSection.cs
- ObservableCollectionDefaultValueFactory.cs
- MissingManifestResourceException.cs
- DomainUpDown.cs
- DefaultEventAttribute.cs
- UnsafeNativeMethods.cs
- XsltCompileContext.cs
- COM2ExtendedTypeConverter.cs
- XmlDownloadManager.cs
- RecipientInfo.cs
- ExecutionEngineException.cs
- ImageIndexConverter.cs
- DispatcherTimer.cs
- InvalidFilterCriteriaException.cs
- SetterBase.cs
- InputBuffer.cs
- MaterialGroup.cs
- SaveFileDialog.cs
- SqlClientFactory.cs
- StringKeyFrameCollection.cs
- XsdBuildProvider.cs
- RequestCachingSection.cs
- ApplicationActivator.cs
- DesignTableCollection.cs
- ListComponentEditorPage.cs
- HttpContextBase.cs
- SoapEnvelopeProcessingElement.cs
- LinkedResource.cs
- WorkflowMarkupSerializationProvider.cs
- SystemIcmpV4Statistics.cs
- XmlReaderDelegator.cs
- COM2IDispatchConverter.cs
- PeerNearMe.cs
- GrammarBuilderRuleRef.cs
- CreatingCookieEventArgs.cs
- TargetPerspective.cs
- Application.cs
- ChameleonKey.cs
- ContentIterators.cs
- NavigationPropertySingletonExpression.cs