Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- RegexReplacement.cs
- RenderingEventArgs.cs
- DataControlPagerLinkButton.cs
- TypeBuilderInstantiation.cs
- ChangeInterceptorAttribute.cs
- milexports.cs
- Rule.cs
- SQLInt32.cs
- NodeLabelEditEvent.cs
- SqlRowUpdatingEvent.cs
- EntityContainerEmitter.cs
- AuthenticationSection.cs
- SortQuery.cs
- SqlClientWrapperSmiStreamChars.cs
- DBSqlParser.cs
- TagNameToTypeMapper.cs
- SqlInternalConnectionTds.cs
- ActionFrame.cs
- HtmlGenericControl.cs
- DES.cs
- InstanceOwnerQueryResult.cs
- RegionData.cs
- StrongTypingException.cs
- DocumentStatusResources.cs
- SubstitutionList.cs
- DataSourceGroupCollection.cs
- ItemCollection.cs
- CSharpCodeProvider.cs
- EncodingInfo.cs
- SoapEnumAttribute.cs
- JournalEntryListConverter.cs
- ClrPerspective.cs
- SessionStateSection.cs
- HtmlButton.cs
- ResXResourceWriter.cs
- CacheRequest.cs
- UserPreferenceChangingEventArgs.cs
- SimpleApplicationHost.cs
- DrawListViewColumnHeaderEventArgs.cs
- DesignTimeParseData.cs
- IIS7WorkerRequest.cs
- Matrix3D.cs
- MultiPropertyDescriptorGridEntry.cs
- RegexWorker.cs
- AlternateViewCollection.cs
- FamilyTypefaceCollection.cs
- RegexStringValidator.cs
- BindingsCollection.cs
- StaticFileHandler.cs
- WeakHashtable.cs
- _HeaderInfo.cs
- Calendar.cs
- ReachDocumentReferenceCollectionSerializer.cs
- DBConcurrencyException.cs
- QueryContinueDragEventArgs.cs
- TcpProcessProtocolHandler.cs
- Gdiplus.cs
- FontClient.cs
- SmtpClient.cs
- JavaScriptString.cs
- TimeSpanSecondsConverter.cs
- DataServiceConfiguration.cs
- MsmqInputMessagePool.cs
- CompositeDataBoundControl.cs
- BamlResourceContent.cs
- DoubleLinkListEnumerator.cs
- ServiceNameCollection.cs
- CqlWriter.cs
- XhtmlBasicPanelAdapter.cs
- DesignTimeData.cs
- BindingExpressionBase.cs
- TypeSystem.cs
- PathGeometry.cs
- QualificationDataItem.cs
- IconHelper.cs
- backend.cs
- Marshal.cs
- AssemblyAttributes.cs
- OleCmdHelper.cs
- ThreadExceptionEvent.cs
- PriorityQueue.cs
- SmiRequestExecutor.cs
- SelectManyQueryOperator.cs
- ToolstripProfessionalRenderer.cs
- MetadataSource.cs
- PackageFilter.cs
- SqlReferenceCollection.cs
- ValueUnavailableException.cs
- DragEvent.cs
- ConfigurationConverterBase.cs
- RepeatBehaviorConverter.cs
- MiniLockedBorderGlyph.cs
- AdRotator.cs
- ObjectListShowCommandsEventArgs.cs
- ExtensionWindowResizeGrip.cs
- Helpers.cs
- CanonicalFontFamilyReference.cs
- NameTable.cs
- MulticastNotSupportedException.cs
- PermissionSetEnumerator.cs