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
- FontEditor.cs
- OdbcStatementHandle.cs
- SizeIndependentAnimationStorage.cs
- MessageQueuePermissionEntryCollection.cs
- PlatformNotSupportedException.cs
- RIPEMD160.cs
- AuthStoreRoleProvider.cs
- TextStore.cs
- Duration.cs
- LabelTarget.cs
- WebPartExportVerb.cs
- SQLBinary.cs
- _ShellExpression.cs
- JsonDeserializer.cs
- Serializer.cs
- BinaryCommonClasses.cs
- UnmanagedMemoryStreamWrapper.cs
- CodeComment.cs
- SmtpNtlmAuthenticationModule.cs
- Profiler.cs
- SqlCommandBuilder.cs
- WebBrowserHelper.cs
- DataGrid.cs
- FlowDocumentScrollViewer.cs
- LedgerEntryCollection.cs
- StringUtil.cs
- DbConnectionPoolIdentity.cs
- InvalidOperationException.cs
- Decoder.cs
- ExceptionAggregator.cs
- FlowLayoutPanelDesigner.cs
- ClientTargetCollection.cs
- RadioButtonAutomationPeer.cs
- XdrBuilder.cs
- IisTraceWebEventProvider.cs
- EventProvider.cs
- AddingNewEventArgs.cs
- VectorKeyFrameCollection.cs
- StringCollection.cs
- CompositeDataBoundControl.cs
- DataConnectionHelper.cs
- EventManager.cs
- NamedObject.cs
- StyleBamlTreeBuilder.cs
- SafeViewOfFileHandle.cs
- SafeCloseHandleCritical.cs
- PenContext.cs
- FilteredReadOnlyMetadataCollection.cs
- CodeVariableReferenceExpression.cs
- VerificationException.cs
- MemberExpression.cs
- FrameworkTemplate.cs
- CollectionViewGroupInternal.cs
- MdImport.cs
- HandlerBase.cs
- Cursor.cs
- X509UI.cs
- IntegrationExceptionEventArgs.cs
- PagerStyle.cs
- DynamicPropertyReader.cs
- MimeParameterWriter.cs
- ObjectHelper.cs
- BaseComponentEditor.cs
- Symbol.cs
- DiscreteKeyFrames.cs
- DataShape.cs
- PageCache.cs
- PerspectiveCamera.cs
- TimeSpanValidator.cs
- ExtendedTransformFactory.cs
- TextModifier.cs
- TypedTableBase.cs
- SimpleBitVector32.cs
- ContainerVisual.cs
- ValidationHelpers.cs
- DebuggerAttributes.cs
- CompModSwitches.cs
- SqlInternalConnectionTds.cs
- TemplateBindingExtension.cs
- ToolboxService.cs
- FixedSOMSemanticBox.cs
- ConditionalAttribute.cs
- Bezier.cs
- formatstringdialog.cs
- SamlSecurityToken.cs
- CmsInterop.cs
- ParserOptions.cs
- WebPartDisplayMode.cs
- MessageLoggingFilterTraceRecord.cs
- PageFunction.cs
- DuplexChannel.cs
- MulticastOption.cs
- UnionCodeGroup.cs
- ToolConsole.cs
- ContainerUtilities.cs
- querybuilder.cs
- ColumnTypeConverter.cs
- ClientType.cs
- SiteMapNodeItem.cs
- CommandLineParser.cs