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
- OrthographicCamera.cs
- ConfigsHelper.cs
- BuildTopDownAttribute.cs
- Merger.cs
- RegexFCD.cs
- DataTableMappingCollection.cs
- PresentationSource.cs
- MetadataUtilsSmi.cs
- PropertyChangeTracker.cs
- DrawItemEvent.cs
- XsltLoader.cs
- cookiecollection.cs
- SudsCommon.cs
- RelationshipType.cs
- DatatypeImplementation.cs
- AddIn.cs
- StringUtil.cs
- ObjectSecurityT.cs
- HighlightVisual.cs
- EndEvent.cs
- SQLConvert.cs
- XmlAttributeAttribute.cs
- ColorMatrix.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- TreeNodeMouseHoverEvent.cs
- RelatedImageListAttribute.cs
- ReachDocumentPageSerializerAsync.cs
- NonValidatingSecurityTokenAuthenticator.cs
- WebPartTracker.cs
- FramingFormat.cs
- DynamicResourceExtensionConverter.cs
- ImmutableCommunicationTimeouts.cs
- StylusCollection.cs
- TemplateBamlTreeBuilder.cs
- WeakReference.cs
- CompressedStack.cs
- XmlDeclaration.cs
- SqlErrorCollection.cs
- DataColumnCollection.cs
- CodeCatchClause.cs
- ProfilePropertySettingsCollection.cs
- XamlHostingSection.cs
- BinaryCommonClasses.cs
- CodeNamespaceImportCollection.cs
- RegistryDataKey.cs
- RelOps.cs
- Visual3D.cs
- AuthStoreRoleProvider.cs
- MenuItemBinding.cs
- TagPrefixInfo.cs
- WebPartConnectionsConnectVerb.cs
- QueryContinueDragEvent.cs
- PixelShader.cs
- WSSecurityPolicy11.cs
- ContainerTracking.cs
- DataPager.cs
- validation.cs
- ScriptControlManager.cs
- ImageMetadata.cs
- ImageFormat.cs
- BitmapFrameDecode.cs
- DetailsView.cs
- AssociationTypeEmitter.cs
- ApplicationHost.cs
- AutomationPatternInfo.cs
- OracleDataReader.cs
- HorizontalAlignConverter.cs
- DynamicValidatorEventArgs.cs
- WSSecurityTokenSerializer.cs
- FunctionDefinition.cs
- RSAPKCS1KeyExchangeFormatter.cs
- RayHitTestParameters.cs
- GeometryGroup.cs
- EventData.cs
- ControlCollection.cs
- ActivityCodeDomReferenceService.cs
- ComponentDispatcher.cs
- XmlDataSource.cs
- CodeBinaryOperatorExpression.cs
- ModelItemKeyValuePair.cs
- Win32.cs
- DataIdProcessor.cs
- CompilerInfo.cs
- RequestCachingSection.cs
- ItemsControl.cs
- RotationValidation.cs
- IndexedEnumerable.cs
- ClientCultureInfo.cs
- BufferModeSettings.cs
- MembershipPasswordException.cs
- RefType.cs
- SystemNetworkInterface.cs
- Parser.cs
- EntityDataSourceChangedEventArgs.cs
- TimeSpanOrInfiniteConverter.cs
- GradientBrush.cs
- DataObjectAttribute.cs
- SecurityManager.cs
- SqlDataSourceFilteringEventArgs.cs
- SystemUdpStatistics.cs