Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- ImageAutomationPeer.cs
- XmlStreamStore.cs
- ObjectDisposedException.cs
- ProcessThread.cs
- Rotation3D.cs
- ObjectSelectorEditor.cs
- ModuleBuilder.cs
- CatalogPartChrome.cs
- mil_commands.cs
- SerializationFieldInfo.cs
- HtmlInputReset.cs
- AttributeCollection.cs
- Drawing.cs
- HttpCachePolicy.cs
- GradientSpreadMethodValidation.cs
- ChannelServices.cs
- CachedResourceDictionaryExtension.cs
- SpAudioStreamWrapper.cs
- DataKeyCollection.cs
- ComEventsHelper.cs
- WsdlBuildProvider.cs
- HtmlShim.cs
- ChtmlTextWriter.cs
- TypePresenter.xaml.cs
- PersonalizationProviderHelper.cs
- MenuItemCollection.cs
- SafeLocalMemHandle.cs
- EntityContainer.cs
- HtmlProps.cs
- XmlSerializationGeneratedCode.cs
- SerializationInfoEnumerator.cs
- PatternMatcher.cs
- FileDialog_Vista.cs
- EncoderFallback.cs
- ParameterToken.cs
- AssemblyBuilder.cs
- SqlPersonalizationProvider.cs
- TextTreeRootNode.cs
- SynchronizationContext.cs
- CustomSignedXml.cs
- HtmlInputImage.cs
- InternalConfigConfigurationFactory.cs
- ToolZone.cs
- Cursor.cs
- InvokeGenerator.cs
- SqlReferenceCollection.cs
- QueryRewriter.cs
- FixedPageStructure.cs
- XmlIgnoreAttribute.cs
- DBConnection.cs
- IDQuery.cs
- MediaEntryAttribute.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- hresults.cs
- JsonGlobals.cs
- FolderNameEditor.cs
- RelationshipFixer.cs
- XmlCodeExporter.cs
- ApplicationTrust.cs
- PagesSection.cs
- ResourcePool.cs
- XmlCustomFormatter.cs
- DiscoveryMessageSequence11.cs
- TextDecorationCollection.cs
- VisualStyleTypesAndProperties.cs
- PolyQuadraticBezierSegment.cs
- XmlSortKeyAccumulator.cs
- _AutoWebProxyScriptEngine.cs
- BinaryMethodMessage.cs
- RepeaterCommandEventArgs.cs
- dsa.cs
- SelectionEditingBehavior.cs
- DbConnectionOptions.cs
- DataServiceRequestException.cs
- TextEffect.cs
- PathSegmentCollection.cs
- OptimalBreakSession.cs
- HtmlTable.cs
- Peer.cs
- XmlLoader.cs
- GridPatternIdentifiers.cs
- ProxyAttribute.cs
- MouseGesture.cs
- DataGrid.cs
- TimeZone.cs
- MaterialGroup.cs
- Operand.cs
- ModuleBuilderData.cs
- MatrixConverter.cs
- FileDialogCustomPlace.cs
- WebRequestModuleElement.cs
- TokenBasedSetEnumerator.cs
- LinkLabel.cs
- ConstrainedDataObject.cs
- ImageAutomationPeer.cs
- Expander.cs
- HttpCookiesSection.cs
- ToolStripSystemRenderer.cs
- TrustManagerPromptUI.cs
- PropertyPath.cs