Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ErrorInfoXmlDocument.cs
- SelectedDatesCollection.cs
- RectangleF.cs
- XmlNodeList.cs
- PropertyValueEditor.cs
- BitmapMetadata.cs
- WinInet.cs
- ModelTypeConverter.cs
- CharKeyFrameCollection.cs
- SecurityChannelFactory.cs
- PasswordTextNavigator.cs
- Socket.cs
- AstTree.cs
- DecoratedNameAttribute.cs
- BitmapEffectDrawingContextWalker.cs
- Point3DCollection.cs
- documentsequencetextcontainer.cs
- LinqDataSourceUpdateEventArgs.cs
- KoreanLunisolarCalendar.cs
- InputMethodStateTypeInfo.cs
- JsonSerializer.cs
- FrameworkTemplate.cs
- ModulesEntry.cs
- ListViewUpdatedEventArgs.cs
- unsafeIndexingFilterStream.cs
- StateBag.cs
- ProcessHostConfigUtils.cs
- DataGridViewCellEventArgs.cs
- LassoSelectionBehavior.cs
- DesignerTransactionCloseEvent.cs
- XmlElementAttribute.cs
- _NegoState.cs
- HttpWebResponse.cs
- EventLogPermissionAttribute.cs
- SolidColorBrush.cs
- XmlDataSource.cs
- MetadataException.cs
- BrowserCapabilitiesCodeGenerator.cs
- OleDbConnectionFactory.cs
- NoResizeSelectionBorderGlyph.cs
- ReferentialConstraint.cs
- ModifiableIteratorCollection.cs
- FormViewUpdatedEventArgs.cs
- DataGridToolTip.cs
- DataGridViewColumnConverter.cs
- ConfigurationSettings.cs
- ObservableCollectionDefaultValueFactory.cs
- SmtpReplyReader.cs
- MenuItemCollectionEditor.cs
- RuntimeWrappedException.cs
- ConstantExpression.cs
- SafeBitVector32.cs
- Restrictions.cs
- HelpInfo.cs
- XhtmlConformanceSection.cs
- CodeEventReferenceExpression.cs
- Pool.cs
- ApplicationId.cs
- AddingNewEventArgs.cs
- ProxyManager.cs
- DocumentSequence.cs
- securitycriticaldataClass.cs
- Enlistment.cs
- InvokePattern.cs
- CodeArrayCreateExpression.cs
- XmlSchemaAnnotated.cs
- DeclarationUpdate.cs
- DataServiceQueryOfT.cs
- ByteConverter.cs
- TextCollapsingProperties.cs
- HttpStreamFormatter.cs
- DataBindingCollection.cs
- AccessControlList.cs
- InputDevice.cs
- SafeFindHandle.cs
- MouseBinding.cs
- CannotUnloadAppDomainException.cs
- ICollection.cs
- RegexCompilationInfo.cs
- GatewayIPAddressInformationCollection.cs
- ItemContainerGenerator.cs
- RequestTimeoutManager.cs
- OneWayBindingElement.cs
- infer.cs
- WebPartConnectionsDisconnectVerb.cs
- _Events.cs
- CookieProtection.cs
- DocumentApplication.cs
- WeakRefEnumerator.cs
- RectAnimationUsingKeyFrames.cs
- OdbcParameter.cs
- DeclaredTypeValidator.cs
- ListBoxChrome.cs
- DataObjectMethodAttribute.cs
- StaticFileHandler.cs
- XmlObjectSerializerWriteContextComplex.cs
- ProcessModelSection.cs
- InheritanceUI.cs
- DispatcherOperation.cs
- TabControlDesigner.cs