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
- TypeFieldSchema.cs
- HttpAsyncResult.cs
- StandardRuntimeEnumValidator.cs
- WebPartPersonalization.cs
- RuntimeArgumentHandle.cs
- EntityConnection.cs
- OleDbPermission.cs
- SQLStringStorage.cs
- CompositeKey.cs
- GZipStream.cs
- XmlReader.cs
- QilXmlReader.cs
- RotateTransform3D.cs
- Cursor.cs
- DescendantBaseQuery.cs
- NestedContainer.cs
- TextRange.cs
- Message.cs
- SchemaTypeEmitter.cs
- _ListenerResponseStream.cs
- SiteMapNodeCollection.cs
- ImageListStreamer.cs
- MarkupCompilePass1.cs
- SQLConvert.cs
- KeyFrames.cs
- EntityDataSourceChangingEventArgs.cs
- UserPersonalizationStateInfo.cs
- RelatedPropertyManager.cs
- GridViewCommandEventArgs.cs
- SystemWebExtensionsSectionGroup.cs
- Vector3DConverter.cs
- DiagnosticsElement.cs
- FileDialogCustomPlace.cs
- RegexTree.cs
- EqualityComparer.cs
- CustomErrorsSection.cs
- CommonDialog.cs
- OdbcConnectionOpen.cs
- ReadOnlyMetadataCollection.cs
- EntityDataSourceContainerNameConverter.cs
- ColorIndependentAnimationStorage.cs
- initElementDictionary.cs
- AutoCompleteStringCollection.cs
- WsdlBuildProvider.cs
- DoubleConverter.cs
- GridViewDeleteEventArgs.cs
- InvokePattern.cs
- EncoderExceptionFallback.cs
- WebFormsRootDesigner.cs
- ReferenceService.cs
- WindowsServiceElement.cs
- ValidationErrorCollection.cs
- SubtreeProcessor.cs
- NodeFunctions.cs
- xsdvalidator.cs
- ControlIdConverter.cs
- Exception.cs
- SharedStatics.cs
- SharedDp.cs
- RadioButtonFlatAdapter.cs
- CellConstant.cs
- CompilerParameters.cs
- SoapServerMethod.cs
- ResXFileRef.cs
- X509Utils.cs
- FlowDocumentReaderAutomationPeer.cs
- KeyEvent.cs
- CodeIterationStatement.cs
- Clipboard.cs
- PersonalizationEntry.cs
- DefaultProxySection.cs
- Rotation3DAnimationBase.cs
- FormatException.cs
- DelegatingHeader.cs
- localization.cs
- Drawing.cs
- EntityAdapter.cs
- GeneralTransform3D.cs
- WebPartDescriptionCollection.cs
- PersonalizableAttribute.cs
- SHA384CryptoServiceProvider.cs
- DateTimeFormat.cs
- UpdatePanelTrigger.cs
- FileInfo.cs
- ColumnResult.cs
- StorageConditionPropertyMapping.cs
- TraceContextRecord.cs
- CodeSnippetExpression.cs
- AutomationElementIdentifiers.cs
- DataSourceHelper.cs
- EntitySqlQueryState.cs
- XmlBindingWorker.cs
- SqlMethodCallConverter.cs
- GridToolTip.cs
- DesignerCategoryAttribute.cs
- SafeLocalMemHandle.cs
- SystemIPv4InterfaceProperties.cs
- Missing.cs
- TreeViewAutomationPeer.cs
- XmlCompatibilityReader.cs