Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RC2.cs / 1305376 / 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 // [System.Security.SecuritySafeCritical] // auto-generated new static public RC2 Create() { return Create("System.Security.Cryptography.RC2"); } [System.Security.SecuritySafeCritical] // auto-generated 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 // [System.Security.SecuritySafeCritical] // auto-generated new static public RC2 Create() { return Create("System.Security.Cryptography.RC2"); } [System.Security.SecuritySafeCritical] // auto-generated 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
- OleDbPermission.cs
- FileChangesMonitor.cs
- VectorCollectionConverter.cs
- RemotingAttributes.cs
- DBPropSet.cs
- StringComparer.cs
- StrokeNodeEnumerator.cs
- DataBinding.cs
- WindowsImpersonationContext.cs
- TextContainerChangeEventArgs.cs
- Bold.cs
- XmlUTF8TextWriter.cs
- Composition.cs
- DataTableCollection.cs
- LifetimeServices.cs
- PerformanceCounterCategory.cs
- TextElementAutomationPeer.cs
- SettingsSavedEventArgs.cs
- FileSystemWatcher.cs
- PropertyKey.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ValidatedControlConverter.cs
- DesignerTransactionCloseEvent.cs
- VectorValueSerializer.cs
- MemberJoinTreeNode.cs
- ObjectViewEntityCollectionData.cs
- VarInfo.cs
- SamlSubject.cs
- TraceInternal.cs
- UiaCoreProviderApi.cs
- WebFormDesignerActionService.cs
- Menu.cs
- ApplyImportsAction.cs
- ReadonlyMessageFilter.cs
- HttpListenerContext.cs
- MemberJoinTreeNode.cs
- Timer.cs
- Queue.cs
- Matrix3D.cs
- ArrayWithOffset.cs
- AttachedPropertyMethodSelector.cs
- CqlIdentifiers.cs
- AssemblyCollection.cs
- ManualResetEvent.cs
- webproxy.cs
- BehaviorDragDropEventArgs.cs
- RuntimeUtils.cs
- Attributes.cs
- RenderData.cs
- FileUpload.cs
- UserControl.cs
- SoapSchemaExporter.cs
- querybuilder.cs
- MetadataFile.cs
- Point3D.cs
- FrugalList.cs
- WeakKeyDictionary.cs
- Stack.cs
- Serializer.cs
- StrokeNodeData.cs
- HealthMonitoringSectionHelper.cs
- LineProperties.cs
- ResolveNameEventArgs.cs
- XmlSchemaSimpleTypeUnion.cs
- NameValueConfigurationCollection.cs
- SqlNotificationEventArgs.cs
- MessageSecurityProtocol.cs
- dtdvalidator.cs
- GeneralTransform3DGroup.cs
- EventArgs.cs
- HttpDebugHandler.cs
- Directory.cs
- OperationResponse.cs
- ActivityUtilities.cs
- JsonDataContract.cs
- PersonalizableAttribute.cs
- _SingleItemRequestCache.cs
- ProtectedConfiguration.cs
- COAUTHINFO.cs
- WinEventTracker.cs
- ScopelessEnumAttribute.cs
- List.cs
- CodeIdentifiers.cs
- StructuralObject.cs
- XmlSerializableServices.cs
- ScaleTransform3D.cs
- SoapReflectionImporter.cs
- WebPartMenuStyle.cs
- VarRefManager.cs
- returneventsaver.cs
- BitmapPalettes.cs
- SweepDirectionValidation.cs
- ListViewSelectEventArgs.cs
- ZipPackagePart.cs
- CodeParameterDeclarationExpression.cs
- VisualStyleElement.cs
- CacheHelper.cs
- ToolStripSettings.cs
- PolyQuadraticBezierSegment.cs
- ClientUtils.cs