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
- Overlapped.cs
- DirectionalLight.cs
- InputScope.cs
- DesignTable.cs
- MD5.cs
- WebBrowser.cs
- Thickness.cs
- CultureMapper.cs
- HttpSocketManager.cs
- ConfigurationException.cs
- AsyncCompletedEventArgs.cs
- IOException.cs
- EdmProperty.cs
- PatternMatcher.cs
- DropSource.cs
- ReadOnlyHierarchicalDataSourceView.cs
- Rotation3D.cs
- SingleAnimationBase.cs
- TransactionInformation.cs
- LayoutExceptionEventArgs.cs
- OleDbReferenceCollection.cs
- DbDataAdapter.cs
- AppModelKnownContentFactory.cs
- NamespaceList.cs
- FixedSOMContainer.cs
- ProcessManager.cs
- Int32EqualityComparer.cs
- TabRenderer.cs
- ChameleonKey.cs
- CaseKeyBox.ViewModel.cs
- DataGridViewSortCompareEventArgs.cs
- MgmtResManager.cs
- EditableRegion.cs
- LightweightCodeGenerator.cs
- ClientData.cs
- SoapElementAttribute.cs
- WebConfigurationManager.cs
- Menu.cs
- ObjectSecurity.cs
- ActivityStateQuery.cs
- AutomationPeer.cs
- _NTAuthentication.cs
- BindingList.cs
- GacUtil.cs
- SupportingTokenAuthenticatorSpecification.cs
- LinqDataSourceUpdateEventArgs.cs
- MetaType.cs
- ValueTable.cs
- MachineKeyConverter.cs
- LazyTextWriterCreator.cs
- ToolStripSettings.cs
- DynamicPropertyReader.cs
- ToolStripRenderer.cs
- FacetDescriptionElement.cs
- HTMLTagNameToTypeMapper.cs
- CodeDirectoryCompiler.cs
- ConnectionsZone.cs
- Vector.cs
- BaseCodeDomTreeGenerator.cs
- Currency.cs
- Hashtable.cs
- SmiEventSink_DeferedProcessing.cs
- XPathNodeHelper.cs
- SafeTokenHandle.cs
- DataGridCaption.cs
- QueryCacheKey.cs
- CatalogPartCollection.cs
- TransactionFilter.cs
- XmlSchemaComplexType.cs
- PageEventArgs.cs
- Visitors.cs
- SystemUnicastIPAddressInformation.cs
- StylusPlugInCollection.cs
- LeftCellWrapper.cs
- DesignerEditorPartChrome.cs
- MdiWindowListStrip.cs
- Win32PrintDialog.cs
- ProfileBuildProvider.cs
- IImplicitResourceProvider.cs
- EdmTypeAttribute.cs
- _FixedSizeReader.cs
- ObjectAssociationEndMapping.cs
- StylusPointPropertyId.cs
- TreeBuilderXamlTranslator.cs
- XPathNodePointer.cs
- SynchronizationScope.cs
- DbConnectionPool.cs
- HtmlTextArea.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- Blend.cs
- QilInvokeLateBound.cs
- EdmFunction.cs
- AliasExpr.cs
- SafeNativeMethods.cs
- SubpageParaClient.cs
- XmlnsCache.cs
- SByte.cs
- TimeStampChecker.cs
- ClientData.cs
- ArrayWithOffset.cs