Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- Token.cs
- ChildChangedEventArgs.cs
- TableLayoutSettings.cs
- ObjectItemAttributeAssemblyLoader.cs
- TableLayoutRowStyleCollection.cs
- FunctionQuery.cs
- CachingHintValidation.cs
- DocumentXmlWriter.cs
- MaterialGroup.cs
- XamlDesignerSerializationManager.cs
- DBParameter.cs
- SpellerHighlightLayer.cs
- AlphaSortedEnumConverter.cs
- ExpressionBuilderCollection.cs
- ArrayList.cs
- Module.cs
- RootProfilePropertySettingsCollection.cs
- DbMetaDataColumnNames.cs
- XmlUtil.cs
- SystemDiagnosticsSection.cs
- IntSecurity.cs
- FlowNode.cs
- Tool.cs
- IdnMapping.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- PrintDocument.cs
- StrokeSerializer.cs
- ChannelManager.cs
- OracleParameterCollection.cs
- MobileFormsAuthentication.cs
- TextLine.cs
- SHA512.cs
- BooleanExpr.cs
- GenerateTemporaryTargetAssembly.cs
- SchemaObjectWriter.cs
- MenuTracker.cs
- ProxyWebPart.cs
- UserPersonalizationStateInfo.cs
- XmlName.cs
- WizardForm.cs
- BinaryKeyIdentifierClause.cs
- SmtpMail.cs
- Point3DCollectionConverter.cs
- SafeNativeMethodsCLR.cs
- HybridWebProxyFinder.cs
- SecurityHeaderElementInferenceEngine.cs
- Int64.cs
- HttpPostLocalhostServerProtocol.cs
- Int32Converter.cs
- XmlSchemaSimpleTypeUnion.cs
- JpegBitmapEncoder.cs
- IgnoreFlushAndCloseStream.cs
- ReflectPropertyDescriptor.cs
- OperationAbortedException.cs
- ExtensionQuery.cs
- ProfessionalColors.cs
- FontStyles.cs
- CompModSwitches.cs
- PixelFormats.cs
- CodeDomConfigurationHandler.cs
- ManifestSignedXml.cs
- FamilyMap.cs
- TransportSecurityBindingElement.cs
- CodeGotoStatement.cs
- ImageField.cs
- MappedMetaModel.cs
- IteratorDescriptor.cs
- MessageAction.cs
- EnumConverter.cs
- FilterQuery.cs
- CommonObjectSecurity.cs
- HttpCacheVaryByContentEncodings.cs
- LinqDataSourceStatusEventArgs.cs
- XmlNodeChangedEventArgs.cs
- MatrixCamera.cs
- SafeRightsManagementHandle.cs
- XmlDeclaration.cs
- Events.cs
- ColorTranslator.cs
- WebPartEditVerb.cs
- XmlUTF8TextWriter.cs
- ListViewGroup.cs
- NumericUpDownAcceleration.cs
- BitmapEffect.cs
- WebPartMovingEventArgs.cs
- BaseAddressElement.cs
- MouseActionConverter.cs
- XmlAnyAttributeAttribute.cs
- HtmlShimManager.cs
- InfoCardBinaryReader.cs
- ListView.cs
- XPSSignatureDefinition.cs
- BitmapData.cs
- BrowserDefinitionCollection.cs
- CodeThrowExceptionStatement.cs
- DataSourceSelectArguments.cs
- HtmlProps.cs
- CompModHelpers.cs
- EncodingDataItem.cs
- StylusLogic.cs