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
- ColorConverter.cs
- rsa.cs
- SQLInt32Storage.cs
- SmtpFailedRecipientException.cs
- OleDbDataAdapter.cs
- BasicKeyConstraint.cs
- SecurityRuntime.cs
- FormsAuthenticationUser.cs
- Nodes.cs
- FastEncoder.cs
- UnitySerializationHolder.cs
- TextEditorCharacters.cs
- Model3DGroup.cs
- DataException.cs
- GeometryDrawing.cs
- SqlGenericUtil.cs
- NoneExcludedImageIndexConverter.cs
- UnmanagedMemoryStream.cs
- BypassElementCollection.cs
- MasterPageBuildProvider.cs
- BitStack.cs
- DockProviderWrapper.cs
- HwndTarget.cs
- Root.cs
- CheckedListBox.cs
- ReferencedCollectionType.cs
- LambdaCompiler.Statements.cs
- BinHexEncoding.cs
- DataContractSerializerFaultFormatter.cs
- XPathDocumentIterator.cs
- JoinGraph.cs
- DataGridTable.cs
- JsonQNameDataContract.cs
- Help.cs
- SrgsRuleRef.cs
- SerializationBinder.cs
- TextEditorTables.cs
- SqlXml.cs
- XLinq.cs
- DataSvcMapFileSerializer.cs
- NumberSubstitution.cs
- FocusManager.cs
- InheritanceContextHelper.cs
- ContextConfiguration.cs
- Pkcs9Attribute.cs
- Not.cs
- keycontainerpermission.cs
- HtmlControl.cs
- XmlParserContext.cs
- StorageTypeMapping.cs
- AddInController.cs
- AutomationPatternInfo.cs
- MasterPageCodeDomTreeGenerator.cs
- PathParser.cs
- BuildProviderCollection.cs
- OdbcEnvironmentHandle.cs
- ClassData.cs
- ParenExpr.cs
- HttpStaticObjectsCollectionWrapper.cs
- OleDbRowUpdatedEvent.cs
- ReliableSessionBindingElement.cs
- Quaternion.cs
- ConfigPathUtility.cs
- SettingsProviderCollection.cs
- WebPartExportVerb.cs
- DescendentsWalker.cs
- Span.cs
- EditorPartDesigner.cs
- StringArrayConverter.cs
- AccessControlEntry.cs
- ParseHttpDate.cs
- AttachedAnnotationChangedEventArgs.cs
- FilteredXmlReader.cs
- ToolboxItemCollection.cs
- SqlDataReaderSmi.cs
- ListViewDeletedEventArgs.cs
- Debug.cs
- ActivityWithResultConverter.cs
- DeferrableContent.cs
- ServerIdentity.cs
- BufferedGraphics.cs
- Crc32.cs
- AnnotationResourceCollection.cs
- DataShape.cs
- PolicyLevel.cs
- DataGridViewComboBoxEditingControl.cs
- ContainerAction.cs
- OleDbDataReader.cs
- PointUtil.cs
- ViewgenContext.cs
- ServiceOperationListItem.cs
- EDesignUtil.cs
- BuildProvider.cs
- XmlBinaryReaderSession.cs
- EntityRecordInfo.cs
- _TransmitFileOverlappedAsyncResult.cs
- GridViewUpdateEventArgs.cs
- TemplateComponentConnector.cs
- Scene3D.cs
- PrincipalPermission.cs