Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / Cryptography / RC2.cs / 1 / RC2.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // RC2.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public abstract class RC2 : SymmetricAlgorithm { protected int EffectiveKeySizeValue; private static KeySizes[] s_legalBlockSizes = { new KeySizes(64, 64, 0) }; private static KeySizes[] s_legalKeySizes = { new KeySizes(40, 1024, 8) // 1024 bits is theoretical max according to the RFC }; // // protected constructors // protected RC2() { KeySizeValue = 128; BlockSizeValue = 64; FeedbackSizeValue = BlockSizeValue; LegalBlockSizesValue = s_legalBlockSizes; LegalKeySizesValue = s_legalKeySizes; } // // public properties // public virtual int EffectiveKeySize { get { if (EffectiveKeySizeValue == 0) return KeySizeValue; return EffectiveKeySizeValue; } set { if (value > KeySizeValue) { throw new CryptographicException(Environment.GetResourceString("Cryptography_RC2_EKSKS")); } else if (value == 0) { EffectiveKeySizeValue = value; } else if (value < 40) { throw new CryptographicException(Environment.GetResourceString("Cryptography_RC2_EKS40")); } else { if (ValidKeySize(value)) EffectiveKeySizeValue = value; else throw new CryptographicException(Environment.GetResourceString("Cryptography_InvalidKeySize")); } } } public override int KeySize { get { return KeySizeValue; } set { if (value < EffectiveKeySizeValue) throw new CryptographicException(Environment.GetResourceString("Cryptography_RC2_EKSKS")); base.KeySize = value; } } // // public methods // new static public RC2 Create() { return Create("System.Security.Cryptography.RC2"); } new static public RC2 Create(String AlgName) { return (RC2) CryptoConfig.CreateFromName(AlgName); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AspNetCompatibilityRequirementsMode.cs
- VisualProxy.cs
- TextTreeUndoUnit.cs
- MetricEntry.cs
- Selection.cs
- WebPartVerb.cs
- SharedPersonalizationStateInfo.cs
- HelpKeywordAttribute.cs
- StrokeNodeData.cs
- BufferModeSettings.cs
- TouchDevice.cs
- KeyInfo.cs
- SiteMapSection.cs
- ScrollViewerAutomationPeer.cs
- ViewStateException.cs
- XsdBuilder.cs
- COM2Properties.cs
- TextProperties.cs
- ConfigXmlCDataSection.cs
- VerticalAlignConverter.cs
- CacheSection.cs
- DataRelation.cs
- TableLayoutPanel.cs
- UmAlQuraCalendar.cs
- filewebrequest.cs
- Module.cs
- FileNotFoundException.cs
- SafeSecurityHelper.cs
- columnmapfactory.cs
- SqlTriggerAttribute.cs
- listviewsubitemcollectioneditor.cs
- IconBitmapDecoder.cs
- DataControlPagerLinkButton.cs
- SamlSecurityToken.cs
- RedistVersionInfo.cs
- GridViewEditEventArgs.cs
- DropSource.cs
- ServiceDesigner.cs
- TextBounds.cs
- XmlReaderSettings.cs
- SqlProfileProvider.cs
- DataGridViewLinkCell.cs
- WebServiceHostFactory.cs
- ItemsPresenter.cs
- RuleRef.cs
- ProjectionPruner.cs
- SpAudioStreamWrapper.cs
- NamedObject.cs
- ExtensibleClassFactory.cs
- PathHelper.cs
- Grid.cs
- AuthenticationException.cs
- XmlSchemaImporter.cs
- XmlSchemaNotation.cs
- SafeArrayRankMismatchException.cs
- HandlerBase.cs
- BitmapMetadataEnumerator.cs
- UiaCoreProviderApi.cs
- GenericTypeParameterBuilder.cs
- PointAnimationClockResource.cs
- ExpressionNode.cs
- CreateUserWizardDesigner.cs
- TextureBrush.cs
- HebrewNumber.cs
- StylusCollection.cs
- FormsAuthenticationEventArgs.cs
- PasswordPropertyTextAttribute.cs
- XhtmlBasicPanelAdapter.cs
- httpapplicationstate.cs
- LateBoundBitmapDecoder.cs
- SetIndexBinder.cs
- DATA_BLOB.cs
- SafeNativeHandle.cs
- SecurityToken.cs
- SelectionBorderGlyph.cs
- ScriptReferenceEventArgs.cs
- SQLDoubleStorage.cs
- DBAsyncResult.cs
- BufferedStream.cs
- HashHelpers.cs
- initElementDictionary.cs
- EventArgs.cs
- ObjectConverter.cs
- Encoder.cs
- IPipelineRuntime.cs
- VisualTransition.cs
- EdmSchemaError.cs
- IfAction.cs
- SizeConverter.cs
- DPCustomTypeDescriptor.cs
- DefaultParameterValueAttribute.cs
- ResourcePart.cs
- RowCache.cs
- TaskCanceledException.cs
- BuiltInExpr.cs
- DocumentViewerBase.cs
- HttpNamespaceReservationInstallComponent.cs
- SHA1CryptoServiceProvider.cs
- ListView.cs
- BuildProvider.cs