Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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. // // ==--== // // 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BooleanSwitch.cs
- RunInstallerAttribute.cs
- DataAccessException.cs
- HttpRequestCacheValidator.cs
- LinkButton.cs
- ManualResetEventSlim.cs
- TraceData.cs
- StrokeRenderer.cs
- DefaultAsyncDataDispatcher.cs
- NullExtension.cs
- CheckBoxBaseAdapter.cs
- SortedList.cs
- precedingquery.cs
- ComboBoxAutomationPeer.cs
- SmiContextFactory.cs
- FileDialogCustomPlacesCollection.cs
- TogglePatternIdentifiers.cs
- cryptoapiTransform.cs
- _CookieModule.cs
- CultureTable.cs
- DesignerVerbCollection.cs
- DataSourceSelectArguments.cs
- DataObjectFieldAttribute.cs
- SqlAggregateChecker.cs
- HttpModuleActionCollection.cs
- RoutedEventArgs.cs
- ToolStripEditorManager.cs
- OptimisticConcurrencyException.cs
- ClockGroup.cs
- PrintDialog.cs
- EncoderBestFitFallback.cs
- EmptyControlCollection.cs
- RulePatternOps.cs
- GeneralTransform.cs
- IPAddressCollection.cs
- PowerStatus.cs
- OutputCacheProfile.cs
- EnumerableRowCollectionExtensions.cs
- ClonableStack.cs
- DataSourceXmlClassAttribute.cs
- Decimal.cs
- TextEditorParagraphs.cs
- BuildManager.cs
- ContractReference.cs
- CompositeActivityTypeDescriptorProvider.cs
- ThreadStateException.cs
- SelectionUIHandler.cs
- ReflectPropertyDescriptor.cs
- BooleanStorage.cs
- Single.cs
- RunClient.cs
- DataKey.cs
- SupportsEventValidationAttribute.cs
- URI.cs
- ValidatorCompatibilityHelper.cs
- SimpleNameService.cs
- XmlSyndicationContent.cs
- PathParser.cs
- RijndaelManaged.cs
- EntityParameter.cs
- WebPartUserCapability.cs
- SQLDateTime.cs
- Hex.cs
- SiteMapPath.cs
- CodeTypeDeclaration.cs
- DocumentViewerAutomationPeer.cs
- InstanceDataCollection.cs
- ListViewDataItem.cs
- FixedSOMPageElement.cs
- DataServiceQueryProvider.cs
- DataBindingList.cs
- StringCollection.cs
- TransformerInfoCollection.cs
- FramingChannels.cs
- RemoteDebugger.cs
- TimerExtension.cs
- SourceFileInfo.cs
- EntityDataSourceContainerNameItem.cs
- RecordManager.cs
- DefaultBindingPropertyAttribute.cs
- VBCodeProvider.cs
- WorkflowControlEndpoint.cs
- CustomLineCap.cs
- DataViewSetting.cs
- PartialToken.cs
- GPRECT.cs
- BamlResourceSerializer.cs
- Package.cs
- WpfGeneratedKnownProperties.cs
- MimeMapping.cs
- GridItemCollection.cs
- webclient.cs
- NumberFunctions.cs
- Translator.cs
- DataTableClearEvent.cs
- RuntimeUtils.cs
- SweepDirectionValidation.cs
- SetIndexBinder.cs
- SqlDataSourceParameterParser.cs
- DataListItemEventArgs.cs