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
- SqlTrackingQuery.cs
- MethodBuilderInstantiation.cs
- CapabilitiesUse.cs
- TreeNodeBinding.cs
- CodeTypeReference.cs
- PropertyOverridesDialog.cs
- WindowsAltTab.cs
- SocketInformation.cs
- TextSelection.cs
- HyperLinkStyle.cs
- ClientType.cs
- ButtonBaseAdapter.cs
- InteropEnvironment.cs
- FileVersionInfo.cs
- ConnectionConsumerAttribute.cs
- NativeRecognizer.cs
- ToolStripHighContrastRenderer.cs
- ElementUtil.cs
- Encoder.cs
- RuleEngine.cs
- basenumberconverter.cs
- PointKeyFrameCollection.cs
- ImageInfo.cs
- RecipientIdentity.cs
- webproxy.cs
- FullTextLine.cs
- FlagsAttribute.cs
- ConsoleKeyInfo.cs
- TableCellCollection.cs
- TraceFilter.cs
- Base64Encoder.cs
- LocalFileSettingsProvider.cs
- sqlmetadatafactory.cs
- DataListItem.cs
- AttachedPropertyBrowsableAttribute.cs
- AsyncContentLoadedEventArgs.cs
- ConstantSlot.cs
- LinqDataSource.cs
- Classification.cs
- XmlWrappingReader.cs
- ActivityWithResultConverter.cs
- MtomMessageEncodingBindingElement.cs
- NonParentingControl.cs
- GetUserPreferenceRequest.cs
- AppDomainProtocolHandler.cs
- StackBuilderSink.cs
- LinkedList.cs
- PasswordTextContainer.cs
- DeflateEmulationStream.cs
- SqlTriggerContext.cs
- CharKeyFrameCollection.cs
- PrimitiveSchema.cs
- ClientTarget.cs
- StringSorter.cs
- SelectionItemPatternIdentifiers.cs
- MetadataPropertyvalue.cs
- DrawingAttributes.cs
- SchemaObjectWriter.cs
- XmlIgnoreAttribute.cs
- SqlDataSourceRefreshSchemaForm.cs
- Deflater.cs
- SevenBitStream.cs
- ColorConvertedBitmapExtension.cs
- ConcurrentBag.cs
- LinqTreeNodeEvaluator.cs
- ThumbAutomationPeer.cs
- TraceListener.cs
- HighContrastHelper.cs
- CodeSnippetTypeMember.cs
- PreviewPrintController.cs
- SQLMoney.cs
- CopyNodeSetAction.cs
- SoapDocumentServiceAttribute.cs
- TextEncodedRawTextWriter.cs
- ProfileParameter.cs
- NeutralResourcesLanguageAttribute.cs
- PeerInputChannelListener.cs
- Crypto.cs
- DataTable.cs
- MessageSecurityOverHttp.cs
- PolicyException.cs
- MimeTypeMapper.cs
- ListSortDescription.cs
- InfoCardCryptoHelper.cs
- DataTable.cs
- ReadOnlyKeyedCollection.cs
- RemotingConfiguration.cs
- PreservationFileWriter.cs
- RuntimeCompatibilityAttribute.cs
- QueryPageSettingsEventArgs.cs
- WindowsListViewGroupHelper.cs
- PenContext.cs
- LambdaCompiler.cs
- RotationValidation.cs
- DeploymentSection.cs
- ThicknessAnimationUsingKeyFrames.cs
- Certificate.cs
- WorkflowServiceNamespace.cs
- LayoutExceptionEventArgs.cs
- PolygonHotSpot.cs