Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RC2.cs / 1305376 / 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 // [System.Security.SecuritySafeCritical] // auto-generated new static public RC2 Create() { return Create("System.Security.Cryptography.RC2"); } [System.Security.SecuritySafeCritical] // auto-generated 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. // // ==--== //[....] // // // 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 // [System.Security.SecuritySafeCritical] // auto-generated new static public RC2 Create() { return Create("System.Security.Cryptography.RC2"); } [System.Security.SecuritySafeCritical] // auto-generated new static public RC2 Create(String AlgName) { return (RC2) CryptoConfig.CreateFromName(AlgName); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UInt64Converter.cs
- SqlCacheDependencySection.cs
- ListViewUpdateEventArgs.cs
- JsonFormatGeneratorStatics.cs
- AnnotationResource.cs
- ContextMenuStripGroup.cs
- WindowsGrip.cs
- WorkflowInstanceUnhandledExceptionRecord.cs
- ContainerAction.cs
- Converter.cs
- ExportOptions.cs
- ProfileManager.cs
- PrintPreviewGraphics.cs
- ThicknessAnimation.cs
- CommandHelper.cs
- SrgsDocument.cs
- MultiplexingDispatchMessageFormatter.cs
- StateMachine.cs
- AuthenticationException.cs
- PasswordPropertyTextAttribute.cs
- BehaviorEditorPart.cs
- LongSumAggregationOperator.cs
- SHA256.cs
- Missing.cs
- QueryRewriter.cs
- StylusPointPropertyInfo.cs
- HybridWebProxyFinder.cs
- UserInitiatedRoutedEventPermission.cs
- ParenExpr.cs
- FrugalMap.cs
- SafeNativeMethods.cs
- NumericExpr.cs
- ProjectionPlanCompiler.cs
- DodSequenceMerge.cs
- ProcessThreadDesigner.cs
- KeyPullup.cs
- SwitchLevelAttribute.cs
- XmlILOptimizerVisitor.cs
- ExpressionParser.cs
- AudienceUriMode.cs
- BaseTreeIterator.cs
- DirtyTextRange.cs
- UnsafeNativeMethodsTablet.cs
- SubclassTypeValidatorAttribute.cs
- SweepDirectionValidation.cs
- Domain.cs
- xmlfixedPageInfo.cs
- RegexCaptureCollection.cs
- XPathDescendantIterator.cs
- LoadedOrUnloadedOperation.cs
- ProfileBuildProvider.cs
- CultureMapper.cs
- SchemaImporter.cs
- DataGridViewCellCollection.cs
- WindowsStatic.cs
- CompositeControl.cs
- Types.cs
- ProfilePropertyNameValidator.cs
- AsyncStreamReader.cs
- BooleanAnimationBase.cs
- NumericUpDownAccelerationCollection.cs
- ProviderUtil.cs
- Match.cs
- SafeNativeMethods.cs
- TemplatedEditableDesignerRegion.cs
- FunctionParameter.cs
- AlternateViewCollection.cs
- SqlCommand.cs
- JsonSerializer.cs
- CommandEventArgs.cs
- XamlSerializerUtil.cs
- KerberosReceiverSecurityToken.cs
- TextLineResult.cs
- StaticTextPointer.cs
- AuthenticateEventArgs.cs
- RtfToXamlReader.cs
- RootProfilePropertySettingsCollection.cs
- SQLString.cs
- WpfXamlType.cs
- Size3D.cs
- WbmpConverter.cs
- FileDetails.cs
- newinstructionaction.cs
- CatalogPartChrome.cs
- PropertyEntry.cs
- ConvertBinder.cs
- FacetDescriptionElement.cs
- XmlAttribute.cs
- ContentDisposition.cs
- ColumnHeaderCollectionEditor.cs
- Int16KeyFrameCollection.cs
- DetailsViewRow.cs
- UmAlQuraCalendar.cs
- SecurityState.cs
- XmlArrayItemAttribute.cs
- Margins.cs
- ClientSettingsSection.cs
- ResourceProperty.cs
- CustomAttributeSerializer.cs
- AdapterSwitches.cs