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
- ClientRuntimeConfig.cs
- EpmTargetTree.cs
- ChooseAction.cs
- TableColumn.cs
- ContactManager.cs
- AdapterDictionary.cs
- DebugView.cs
- ControlBuilderAttribute.cs
- WindowsGrip.cs
- WindowsScroll.cs
- CodeAttributeDeclaration.cs
- EntitySqlQueryState.cs
- StyleSelector.cs
- ConsoleCancelEventArgs.cs
- LocalizedNameDescriptionPair.cs
- ActivationArguments.cs
- SourceFilter.cs
- GeneralTransformGroup.cs
- FontWeightConverter.cs
- Convert.cs
- thaishape.cs
- ReflectionHelper.cs
- TextSimpleMarkerProperties.cs
- XmlDocumentViewSchema.cs
- TableCellAutomationPeer.cs
- PropertyRecord.cs
- M3DUtil.cs
- MailMessageEventArgs.cs
- TreeNodeStyleCollection.cs
- mediaclock.cs
- WindowsScrollBarBits.cs
- UnmanagedMarshal.cs
- SoapReflectionImporter.cs
- DynamicRenderer.cs
- FillErrorEventArgs.cs
- ExitEventArgs.cs
- StateBag.cs
- ValidationRuleCollection.cs
- DataBindEngine.cs
- SparseMemoryStream.cs
- DirectoryInfo.cs
- WebServiceEnumData.cs
- Attributes.cs
- Timer.cs
- Comparer.cs
- TypeUtil.cs
- TripleDES.cs
- HybridDictionary.cs
- ManualResetEventSlim.cs
- PenLineCapValidation.cs
- DeviceContexts.cs
- TextRunCache.cs
- URLString.cs
- ContractAdapter.cs
- Durable.cs
- CrossSiteScriptingValidation.cs
- WebBrowserNavigatingEventHandler.cs
- CrossAppDomainChannel.cs
- CryptoProvider.cs
- ConfigXmlAttribute.cs
- PageThemeBuildProvider.cs
- DiscardableAttribute.cs
- PeerCollaborationPermission.cs
- SrgsNameValueTag.cs
- SapiRecognizer.cs
- DataColumnMappingCollection.cs
- PageRanges.cs
- AuthenticationService.cs
- GacUtil.cs
- Annotation.cs
- DataSysAttribute.cs
- WindowsSecurityToken.cs
- CLSCompliantAttribute.cs
- XdrBuilder.cs
- DnsPermission.cs
- DriveNotFoundException.cs
- CollectionConverter.cs
- Cursor.cs
- XmlDataCollection.cs
- TreeNodeEventArgs.cs
- FormsAuthenticationUserCollection.cs
- DataPagerFieldCollection.cs
- PersonalizationStateInfo.cs
- DSASignatureFormatter.cs
- RegisteredHiddenField.cs
- TransactedBatchingBehavior.cs
- KnownAssemblyEntry.cs
- TextModifier.cs
- XPathSingletonIterator.cs
- SpeechDetectedEventArgs.cs
- WebPartConnectionsCloseVerb.cs
- OracleTransaction.cs
- PropertyMapper.cs
- IndentTextWriter.cs
- SortQuery.cs
- DataGrid.cs
- MessageBodyDescription.cs
- IdentityHolder.cs
- PlatformCulture.cs
- SizeConverter.cs