Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Unit.cs
- BamlRecords.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- BufferedGraphics.cs
- Paragraph.cs
- SelectionListDesigner.cs
- DispatchRuntime.cs
- ADMembershipProvider.cs
- StylusPlugInCollection.cs
- FontInfo.cs
- CodeExporter.cs
- RelationshipSet.cs
- CustomCategoryAttribute.cs
- HashMembershipCondition.cs
- MonikerBuilder.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- OrderingQueryOperator.cs
- ObjectListDesigner.cs
- BindingMemberInfo.cs
- FramingChannels.cs
- DataGridHelper.cs
- UpWmlMobileTextWriter.cs
- MdbDataFileEditor.cs
- PerspectiveCamera.cs
- EqualityComparer.cs
- ValidatedControlConverter.cs
- SoapWriter.cs
- TextHintingModeValidation.cs
- RuntimeComponentFilter.cs
- PriorityBindingExpression.cs
- ScriptingScriptResourceHandlerSection.cs
- SqlCachedBuffer.cs
- ScriptComponentDescriptor.cs
- BoundPropertyEntry.cs
- RadialGradientBrush.cs
- HGlobalSafeHandle.cs
- DesignerTransactionCloseEvent.cs
- StreamReader.cs
- AutomationEvent.cs
- ParallelTimeline.cs
- BindableAttribute.cs
- Operand.cs
- StoreAnnotationsMap.cs
- ProfilePropertyNameValidator.cs
- LinkArea.cs
- BamlRecords.cs
- XmlMtomWriter.cs
- SignedPkcs7.cs
- EntityCommand.cs
- SchemaUtility.cs
- WebPartUtil.cs
- Closure.cs
- TimeZone.cs
- _SingleItemRequestCache.cs
- DataGridViewCellEventArgs.cs
- PackWebRequestFactory.cs
- DbParameterCollectionHelper.cs
- CalendarBlackoutDatesCollection.cs
- BindableTemplateBuilder.cs
- FragmentNavigationEventArgs.cs
- RenderingEventArgs.cs
- PersonalizationProviderHelper.cs
- SourceElementsCollection.cs
- ConfigurationStrings.cs
- CodeCommentStatementCollection.cs
- HMACSHA384.cs
- ClientSettings.cs
- DbProviderConfigurationHandler.cs
- DataGridHelper.cs
- WCFBuildProvider.cs
- TreeNodeBinding.cs
- WebPartDescriptionCollection.cs
- XmlArrayAttribute.cs
- UnsafeNativeMethods.cs
- BuildProviderAppliesToAttribute.cs
- RSAPKCS1SignatureDeformatter.cs
- SoapSchemaMember.cs
- MemoryRecordBuffer.cs
- DropDownList.cs
- Buffer.cs
- OutputCacheProfile.cs
- HttpStreamMessageEncoderFactory.cs
- PauseStoryboard.cs
- SystemThemeKey.cs
- FixedSOMTable.cs
- PreservationFileReader.cs
- DefaultBinder.cs
- XsltLoader.cs
- SubtreeProcessor.cs
- RuntimeConfigLKG.cs
- TemplateNodeContextMenu.cs
- SudsCommon.cs
- DefaultPrintController.cs
- TextElement.cs
- SessionState.cs
- DelimitedListTraceListener.cs
- WebScriptServiceHostFactory.cs
- CultureTableRecord.cs
- ArrangedElement.cs
- OdbcConnection.cs