Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- GeometryDrawing.cs
- SqlCacheDependencyDatabaseCollection.cs
- EntitySetRetriever.cs
- ImageAnimator.cs
- ElementProxy.cs
- TextParagraphView.cs
- PenCursorManager.cs
- WebSysDisplayNameAttribute.cs
- DummyDataSource.cs
- SingleAnimationBase.cs
- SqlRowUpdatedEvent.cs
- NativeMethods.cs
- ContourSegment.cs
- PropertyOverridesTypeEditor.cs
- DataGridViewComboBoxEditingControl.cs
- ApplicationContext.cs
- DecimalKeyFrameCollection.cs
- XamlPointCollectionSerializer.cs
- MimeXmlImporter.cs
- HttpListenerRequest.cs
- WebPageTraceListener.cs
- _TimerThread.cs
- EventListenerClientSide.cs
- DocumentGridContextMenu.cs
- GridViewColumnCollectionChangedEventArgs.cs
- VideoDrawing.cs
- Cursors.cs
- RegexCompilationInfo.cs
- SQLCharsStorage.cs
- MarkupObject.cs
- VectorAnimation.cs
- AuthenticationServiceManager.cs
- HMACSHA384.cs
- SoapSchemaExporter.cs
- SafeRightsManagementPubHandle.cs
- DbProviderConfigurationHandler.cs
- TableLayoutPanelCellPosition.cs
- glyphs.cs
- CalendarDateRange.cs
- PartEditor.cs
- SqlUDTStorage.cs
- UIntPtr.cs
- XmlStreamStore.cs
- DocumentViewerAutomationPeer.cs
- XmlWriterSettings.cs
- XmlReflectionMember.cs
- WebPartConnectionsConnectVerb.cs
- CalendarAutoFormat.cs
- PropertyTabChangedEvent.cs
- XmlCustomFormatter.cs
- LocalFileSettingsProvider.cs
- ExpressionBindings.cs
- SystemTcpConnection.cs
- UserInitiatedRoutedEventPermission.cs
- WindowsToolbar.cs
- ThreadAbortException.cs
- ElementNotEnabledException.cs
- _SslStream.cs
- TabPage.cs
- LineServicesRun.cs
- ScriptComponentDescriptor.cs
- InvalidateEvent.cs
- StylusPointPropertyId.cs
- CssStyleCollection.cs
- SecUtil.cs
- sqlser.cs
- DataColumnMapping.cs
- _IPv6Address.cs
- AuthenticationSection.cs
- ImageBrush.cs
- HttpConfigurationContext.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- ToolStripSettings.cs
- PageSetupDialog.cs
- TreeNodeEventArgs.cs
- ChannelCacheDefaults.cs
- JsonFormatReaderGenerator.cs
- XmlArrayAttribute.cs
- CompositeActivityCodeGenerator.cs
- KeyedHashAlgorithm.cs
- XamlRtfConverter.cs
- PnrpPeerResolverBindingElement.cs
- RemoteWebConfigurationHost.cs
- XmlValidatingReaderImpl.cs
- GridViewCellAutomationPeer.cs
- DayRenderEvent.cs
- TrustDriver.cs
- bidPrivateBase.cs
- InputScopeNameConverter.cs
- UpdatePanelTrigger.cs
- SeekableMessageNavigator.cs
- Sql8ExpressionRewriter.cs
- SetterTriggerConditionValueConverter.cs
- XPathMessageFilterElementComparer.cs
- IPAddress.cs
- SiteOfOriginContainer.cs
- ProviderException.cs
- localization.cs
- OptimizedTemplateContent.cs
- InputManager.cs