Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ControlCachePolicy.cs
- UrlMappingsModule.cs
- PtsHost.cs
- InheritablePropertyChangeInfo.cs
- FileEnumerator.cs
- AppDomainFactory.cs
- ColumnWidthChangedEvent.cs
- HostingEnvironment.cs
- NullRuntimeConfig.cs
- CommonObjectSecurity.cs
- CodeArrayIndexerExpression.cs
- Code.cs
- Rotation3D.cs
- Iis7Helper.cs
- ValueUtilsSmi.cs
- MultiBinding.cs
- CodeAttributeArgumentCollection.cs
- ParserHooks.cs
- SafeRightsManagementSessionHandle.cs
- GenericsInstances.cs
- ToolboxItemWrapper.cs
- HiddenFieldPageStatePersister.cs
- KeyInfo.cs
- DEREncoding.cs
- GPStream.cs
- XPathNavigatorKeyComparer.cs
- DataChangedEventManager.cs
- PageContentAsyncResult.cs
- AsyncPostBackErrorEventArgs.cs
- QueryRewriter.cs
- UnrecognizedAssertionsBindingElement.cs
- ItemCheckedEvent.cs
- Buffer.cs
- TypeAccessException.cs
- DataGridViewRow.cs
- AssemblyBuilder.cs
- HttpModuleAction.cs
- webeventbuffer.cs
- XmlSequenceWriter.cs
- SendParametersContent.cs
- DecoratedNameAttribute.cs
- DecoderNLS.cs
- LogicalExpr.cs
- WebControlsSection.cs
- StreamGeometry.cs
- ListSurrogate.cs
- IntellisenseTextBox.designer.cs
- X509Utils.cs
- RenderOptions.cs
- HtmlObjectListAdapter.cs
- ContentPropertyAttribute.cs
- GlyphRunDrawing.cs
- SymbolType.cs
- Barrier.cs
- ObjectManager.cs
- ProfileProvider.cs
- Decoder.cs
- Journaling.cs
- ValidationErrorEventArgs.cs
- XsltConvert.cs
- DataGridItemAttachedStorage.cs
- Registry.cs
- EventProxy.cs
- StateInitialization.cs
- ChildTable.cs
- TypedTableBaseExtensions.cs
- PointAnimationBase.cs
- AttributeUsageAttribute.cs
- MessageBuilder.cs
- AsymmetricKeyExchangeFormatter.cs
- WebBrowserEvent.cs
- SpellerError.cs
- CustomAttributeBuilder.cs
- XmlPreloadedResolver.cs
- TabPanel.cs
- PseudoWebRequest.cs
- EndpointConfigContainer.cs
- GrowingArray.cs
- StrokeSerializer.cs
- WeakReferenceKey.cs
- IgnoreFileBuildProvider.cs
- DataRowView.cs
- SqlCacheDependencyDatabase.cs
- ColumnMapVisitor.cs
- ApplicationGesture.cs
- DoubleCollectionConverter.cs
- FileRecordSequenceCompletedAsyncResult.cs
- ReadOnlyHierarchicalDataSource.cs
- BeginGetFileNameFromUserRequest.cs
- EraserBehavior.cs
- DataBoundControlHelper.cs
- FontSizeConverter.cs
- ToolStripSeparatorRenderEventArgs.cs
- CmsInterop.cs
- MultipleFilterMatchesException.cs
- VisualTreeUtils.cs
- ByeOperation11AsyncResult.cs
- ExtensionSimplifierMarkupObject.cs
- SharedUtils.cs
- WebPartCatalogAddVerb.cs