Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- Constraint.cs
- SliderAutomationPeer.cs
- GroupBox.cs
- MessageBox.cs
- IdentitySection.cs
- httpserverutility.cs
- CodeVariableDeclarationStatement.cs
- ParenExpr.cs
- DataGridColumnHeadersPresenter.cs
- Switch.cs
- XPathCompileException.cs
- PersistChildrenAttribute.cs
- SafeLibraryHandle.cs
- ObjectDataSourceStatusEventArgs.cs
- MulticastDelegate.cs
- TextInfo.cs
- IFlowDocumentViewer.cs
- ImmutableAssemblyCacheEntry.cs
- RelOps.cs
- InvalidWMPVersionException.cs
- WmlValidatorAdapter.cs
- SystemNetHelpers.cs
- FormViewUpdatedEventArgs.cs
- GridViewDeleteEventArgs.cs
- BuildManager.cs
- AstNode.cs
- WebPartEditorApplyVerb.cs
- ContentTextAutomationPeer.cs
- ItemList.cs
- Serializer.cs
- StaticSiteMapProvider.cs
- TraceEventCache.cs
- MasterPageParser.cs
- SQLMoney.cs
- PEFileEvidenceFactory.cs
- CheckBoxList.cs
- DataGridViewSelectedColumnCollection.cs
- Subtree.cs
- IsolatedStorageFile.cs
- Brush.cs
- documentsequencetextview.cs
- ParameterModifier.cs
- FontNamesConverter.cs
- WebPartEditVerb.cs
- TextDpi.cs
- Wildcard.cs
- UnitySerializationHolder.cs
- ThemeInfoAttribute.cs
- SerializerWriterEventHandlers.cs
- StylusCollection.cs
- ContentPosition.cs
- IIS7UserPrincipal.cs
- DashStyle.cs
- TdsParserSafeHandles.cs
- BindingContext.cs
- TreeNodeCollection.cs
- Label.cs
- FuncTypeConverter.cs
- TrackingProfileCache.cs
- CurrencyWrapper.cs
- WriteFileContext.cs
- XmlSchemaException.cs
- ClaimSet.cs
- NamespaceMapping.cs
- WorkflowApplicationUnloadedException.cs
- SystemDiagnosticsSection.cs
- SoapExtensionTypeElementCollection.cs
- RemoteWebConfigurationHostStream.cs
- WindowsTooltip.cs
- ListBox.cs
- ResourcePermissionBase.cs
- ConfigurationSection.cs
- WebRequestModulesSection.cs
- DataServiceStreamProviderWrapper.cs
- OutputCacheProfileCollection.cs
- PreviewControlDesigner.cs
- Vector.cs
- Control.cs
- DataGridViewCheckBoxCell.cs
- RelatedPropertyManager.cs
- RecognizedAudio.cs
- BigInt.cs
- PointHitTestResult.cs
- MappingMetadataHelper.cs
- XmlSchema.cs
- WorkflowLayouts.cs
- SqlFormatter.cs
- SpellerHighlightLayer.cs
- PassportAuthenticationEventArgs.cs
- XmlSchemaComplexContentRestriction.cs
- Timer.cs
- MetadataArtifactLoaderCompositeResource.cs
- NetworkCredential.cs
- TransformerTypeCollection.cs
- ExpressionBuilder.cs
- TargetParameterCountException.cs
- ExtendedProperty.cs
- XmlSchemaSimpleTypeList.cs
- TemplateEditingService.cs
- IPEndPoint.cs