Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RC2.cs / 1305376 / 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 // [System.Security.SecuritySafeCritical] // auto-generated new static public RC2 Create() { return Create("System.Security.Cryptography.RC2"); } [System.Security.SecuritySafeCritical] // auto-generated 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 // [System.Security.SecuritySafeCritical] // auto-generated new static public RC2 Create() { return Create("System.Security.Cryptography.RC2"); } [System.Security.SecuritySafeCritical] // auto-generated 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
- CustomCategoryAttribute.cs
- ClientEndpointLoader.cs
- DataGridViewRowHeaderCell.cs
- XmlParserContext.cs
- HealthMonitoringSectionHelper.cs
- SwitchAttribute.cs
- AuthenticationServiceManager.cs
- DataGridViewRowPostPaintEventArgs.cs
- DbConnectionHelper.cs
- ModelTreeEnumerator.cs
- X509CertificateChain.cs
- Rect3D.cs
- CellConstant.cs
- DateRangeEvent.cs
- HttpListenerResponse.cs
- SymLanguageVendor.cs
- ExtensibleClassFactory.cs
- EncoderExceptionFallback.cs
- ApplicationDirectory.cs
- ScriptManager.cs
- dsa.cs
- CurrentTimeZone.cs
- ObjectSecurityT.cs
- ListViewItem.cs
- TreeSet.cs
- SmtpMail.cs
- TemplateControlBuildProvider.cs
- AttributeExtensions.cs
- CodeGenerator.cs
- FlowDocumentView.cs
- XsltSettings.cs
- ITreeGenerator.cs
- DataGridItemAutomationPeer.cs
- CompositeCollectionView.cs
- RecognizerStateChangedEventArgs.cs
- RoleGroup.cs
- Guid.cs
- UnsafeNativeMethods.cs
- fixedPageContentExtractor.cs
- LocalizationComments.cs
- TextServicesCompartmentContext.cs
- ProviderUtil.cs
- CodeStatementCollection.cs
- EncodingInfo.cs
- ADConnectionHelper.cs
- XD.cs
- NavigationEventArgs.cs
- GacUtil.cs
- ExpandSegment.cs
- ColumnPropertiesGroup.cs
- PresentationSource.cs
- LocalizationParserHooks.cs
- MethodCallConverter.cs
- Random.cs
- MarkupProperty.cs
- CqlParser.cs
- LayoutUtils.cs
- TextFragmentEngine.cs
- DetailsViewPageEventArgs.cs
- MachineKeySection.cs
- WebPartEventArgs.cs
- WebInvokeAttribute.cs
- StyleTypedPropertyAttribute.cs
- ComponentTray.cs
- XmlSchemaDocumentation.cs
- Drawing.cs
- _SslState.cs
- RegexCompilationInfo.cs
- TreeWalker.cs
- TextDecoration.cs
- Label.cs
- EnumBuilder.cs
- sqlpipe.cs
- TextElement.cs
- EventMappingSettings.cs
- IsolatedStoragePermission.cs
- NestedContainer.cs
- ListViewItem.cs
- InfoCardSymmetricCrypto.cs
- RepeatButton.cs
- MailMessageEventArgs.cs
- NetworkInterface.cs
- DesigntimeLicenseContext.cs
- Misc.cs
- DataObject.cs
- SQLConvert.cs
- ConstraintCollection.cs
- ToolStripSettings.cs
- MsmqIntegrationBindingCollectionElement.cs
- EditorPartCollection.cs
- OleDbTransaction.cs
- LocatorManager.cs
- ModelVisual3D.cs
- CodeDomExtensionMethods.cs
- CapabilitiesRule.cs
- CanExecuteRoutedEventArgs.cs
- CodeValidator.cs
- GenericTextProperties.cs
- SqlTypeSystemProvider.cs
- NetworkInformationPermission.cs