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
- ImageClickEventArgs.cs
- WebPartAddingEventArgs.cs
- DependencyObject.cs
- SystemUnicastIPAddressInformation.cs
- SchemaImporterExtension.cs
- CodeObject.cs
- CodeThrowExceptionStatement.cs
- EntitySetBase.cs
- Rect3D.cs
- XMLUtil.cs
- JsonClassDataContract.cs
- KeyProperty.cs
- DbProviderManifest.cs
- NativeMethods.cs
- IndentTextWriter.cs
- TransactionTable.cs
- GlobalProxySelection.cs
- ListComponentEditor.cs
- SupportsPreviewControlAttribute.cs
- HttpClientCertificate.cs
- EncoderParameter.cs
- SchemaInfo.cs
- StorageEntityTypeMapping.cs
- OrderedEnumerableRowCollection.cs
- FtpCachePolicyElement.cs
- TokenizerHelper.cs
- TypeConverterValueSerializer.cs
- HttpConfigurationContext.cs
- XmlSchemaInclude.cs
- SingleAnimationBase.cs
- TextRunCache.cs
- SecurityBindingElementImporter.cs
- ProcessProtocolHandler.cs
- GroupBox.cs
- ListDataBindEventArgs.cs
- NullRuntimeConfig.cs
- LinkTarget.cs
- KeyValueInternalCollection.cs
- MetadataSource.cs
- SafeSecurityHelper.cs
- SystemPens.cs
- TemplatedEditableDesignerRegion.cs
- MembershipUser.cs
- DbConnectionPoolGroup.cs
- MimeTypeMapper.cs
- PropertyChange.cs
- OleDbSchemaGuid.cs
- Win32SafeHandles.cs
- XmlElement.cs
- x509store.cs
- _AcceptOverlappedAsyncResult.cs
- ScrollChrome.cs
- EnvelopedPkcs7.cs
- DbSourceParameterCollection.cs
- NavigationEventArgs.cs
- DependencyPropertyValueSerializer.cs
- EDesignUtil.cs
- BindingValueChangedEventArgs.cs
- UriTemplateMatch.cs
- DefaultMemberAttribute.cs
- ApplicationId.cs
- SessionEndingCancelEventArgs.cs
- FontWeight.cs
- TreeNodeEventArgs.cs
- CompositeControl.cs
- TrackingRecordPreFilter.cs
- AbandonedMutexException.cs
- RemoteWebConfigurationHostStream.cs
- DecoderBestFitFallback.cs
- CssStyleCollection.cs
- backend.cs
- LiteralSubsegment.cs
- XmlSignatureProperties.cs
- XmlAttributeCollection.cs
- WpfXamlType.cs
- IdentityManager.cs
- Timer.cs
- Grid.cs
- ToolStripItemCollection.cs
- FusionWrap.cs
- GenericTypeParameterBuilder.cs
- XamlParser.cs
- DataException.cs
- SqlProviderServices.cs
- BackStopAuthenticationModule.cs
- RectAnimation.cs
- WhitespaceRuleReader.cs
- ContextMenuAutomationPeer.cs
- PartialCachingAttribute.cs
- AnnouncementInnerClientCD1.cs
- XmlSchemaValidator.cs
- XmlParserContext.cs
- UInt64Converter.cs
- UriWriter.cs
- Parameter.cs
- SqlAliasesReferenced.cs
- XmlSchemaType.cs
- GridViewColumnCollection.cs
- ApplicationException.cs
- ListItemsPage.cs