Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TabControl.cs
- ModuleConfigurationInfo.cs
- PerformanceCounterManager.cs
- COM2IDispatchConverter.cs
- FixedSOMPageConstructor.cs
- errorpatternmatcher.cs
- XmlCollation.cs
- PageTheme.cs
- XmlAttributeOverrides.cs
- ProcessHostMapPath.cs
- CookielessHelper.cs
- RepeaterItem.cs
- FormViewUpdatedEventArgs.cs
- XmlSchemaAppInfo.cs
- LazyTextWriterCreator.cs
- CodeConditionStatement.cs
- DiagnosticStrings.cs
- MenuScrollingVisibilityConverter.cs
- NetNamedPipeSecurity.cs
- PolicyLevel.cs
- ParameterRetriever.cs
- ChangeConflicts.cs
- ColumnBinding.cs
- SchemaSetCompiler.cs
- OSFeature.cs
- AttributeUsageAttribute.cs
- Matrix3D.cs
- BehaviorEditorPart.cs
- MobileUserControlDesigner.cs
- RMEnrollmentPage2.cs
- DocumentOrderComparer.cs
- EnumUnknown.cs
- XAMLParseException.cs
- EditorPartCollection.cs
- MaterialGroup.cs
- GridViewRowCollection.cs
- PriorityBindingExpression.cs
- LineSegment.cs
- Int32Converter.cs
- SeekStoryboard.cs
- SQLDateTime.cs
- IPGlobalProperties.cs
- ResolveCriteria11.cs
- DataGridViewRowPostPaintEventArgs.cs
- ButtonRenderer.cs
- DataGridViewAdvancedBorderStyle.cs
- DataControlButton.cs
- RenderCapability.cs
- embossbitmapeffect.cs
- BaseProcessor.cs
- ValidationSummary.cs
- XmlEntityReference.cs
- METAHEADER.cs
- PersonalizationProviderHelper.cs
- Size.cs
- SupportingTokenChannel.cs
- DBDataPermissionAttribute.cs
- Utils.cs
- WebPartPersonalization.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- SendSecurityHeaderElementContainer.cs
- DnsPermission.cs
- MergablePropertyAttribute.cs
- KeySplineConverter.cs
- ObjectMemberMapping.cs
- FacetDescription.cs
- XmlDataImplementation.cs
- Error.cs
- TextTreeText.cs
- RegistryPermission.cs
- ReadOnlyCollection.cs
- XpsFixedDocumentReaderWriter.cs
- HandlerFactoryCache.cs
- TableDetailsRow.cs
- EntityDataSourceChangingEventArgs.cs
- TransformGroup.cs
- RangeBase.cs
- WindowsFormsHostAutomationPeer.cs
- SettingsPropertyCollection.cs
- MarkupExtensionParser.cs
- WorkflowRuntimeServiceElement.cs
- Single.cs
- TreeNodeStyleCollection.cs
- CharEntityEncoderFallback.cs
- ToReply.cs
- TemplateKey.cs
- _FtpDataStream.cs
- SchemaElement.cs
- TileBrush.cs
- ProcessHostFactoryHelper.cs
- MissingSatelliteAssemblyException.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- DynamicMetaObjectBinder.cs
- TransformValueSerializer.cs
- PlacementWorkspace.cs
- NopReturnReader.cs
- AssignDesigner.xaml.cs
- AdapterDictionary.cs
- Enum.cs
- MarginCollapsingState.cs