# RC2 Class

## Definition

Represents the base class from which all implementations of the RC2 algorithm must derive.

`public ref class RC2 abstract : System::Security::Cryptography::SymmetricAlgorithm`

```
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class RC2 : System.Security.Cryptography.SymmetricAlgorithm
```

```
type RC2 = class
inherit SymmetricAlgorithm
```

```
Public MustInherit Class RC2
Inherits SymmetricAlgorithm
```

- Inheritance

- Derived

- Attributes

## Remarks

Note

A newer symmetric encryption algorithm, Advanced Encryption Standard (AES), is available. Consider using the Aes algorithm and its derived classes instead of the RC2 class. Use RC2 only for compatibility with legacy applications and data.

## Constructors

RC2() |
Initializes a new instance of RC2. |

## Fields

BlockSizeValue |
Represents the block size, in bits, of the cryptographic operation. (Inherited from SymmetricAlgorithm) |

EffectiveKeySizeValue |
Represents the effective size of the secret key used by the RC2 algorithm in bits. |

FeedbackSizeValue |
Represents the feedback size, in bits, of the cryptographic operation. (Inherited from SymmetricAlgorithm) |

IVValue |
Represents the initialization vector (IV) for the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

KeySizeValue |
Represents the size, in bits, of the secret key used by the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

KeyValue |
Represents the secret key for the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

LegalBlockSizesValue |
Specifies the block sizes, in bits, that are supported by the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

LegalKeySizesValue |
Specifies the key sizes, in bits, that are supported by the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

ModeValue |
Represents the cipher mode used in the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

PaddingValue |
Represents the padding mode used in the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

## Properties

BlockSize |
Gets or sets the block size, in bits, of the cryptographic operation. (Inherited from SymmetricAlgorithm) |

EffectiveKeySize |
Gets or sets the effective size of the secret key used by the RC2 algorithm in bits. |

FeedbackSize |
Gets or sets the feedback size, in bits, of the cryptographic operation for the Cipher Feedback (CFB) and Output Feedback (OFB) cipher modes. (Inherited from SymmetricAlgorithm) |

IV |
Gets or sets the initialization vector (IV) for the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

Key |
Gets or sets the secret key for the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

KeySize |
Gets or sets the size of the secret key used by the RC2 algorithm in bits. |

LegalBlockSizes |
Gets the block sizes, in bits, that are supported by the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

LegalKeySizes |
Gets the key sizes, in bits, that are supported by the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

Mode |
Gets or sets the mode for operation of the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

Padding |
Gets or sets the padding mode used in the symmetric algorithm. (Inherited from SymmetricAlgorithm) |

## Methods

Clear() |
Releases all resources used by the SymmetricAlgorithm class. (Inherited from SymmetricAlgorithm) |

Create() |
Creates an instance of a cryptographic object to perform the RC2 algorithm. |

Create(String) |
Creates an instance of a cryptographic object to perform the specified implementation of the RC2 algorithm. |

CreateDecryptor() |
Creates a symmetric decryptor object with the current Key property and initialization vector (IV). (Inherited from SymmetricAlgorithm) |

CreateDecryptor(Byte[], Byte[]) |
When overridden in a derived class, creates a symmetric decryptor object with the specified Key property and initialization vector (IV). (Inherited from SymmetricAlgorithm) |

CreateEncryptor() |
Creates a symmetric encryptor object with the current Key property and initialization vector (IV). (Inherited from SymmetricAlgorithm) |

CreateEncryptor(Byte[], Byte[]) |
When overridden in a derived class, creates a symmetric encryptor object with the specified Key property and initialization vector (IV). (Inherited from SymmetricAlgorithm) |

Dispose() |
Releases all resources used by the current instance of the SymmetricAlgorithm class. (Inherited from SymmetricAlgorithm) |

Dispose(Boolean) |
Releases the unmanaged resources used by the SymmetricAlgorithm and optionally releases the managed resources. (Inherited from SymmetricAlgorithm) |

Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |

GenerateIV() |
When overridden in a derived class, generates a random initialization vector (IV) to use for the algorithm. (Inherited from SymmetricAlgorithm) |

GenerateKey() |
When overridden in a derived class, generates a random key (Key) to use for the algorithm. (Inherited from SymmetricAlgorithm) |

GetHashCode() |
Serves as the default hash function. (Inherited from Object) |

GetType() |
Gets the Type of the current instance. (Inherited from Object) |

MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |

ToString() |
Returns a string that represents the current object. (Inherited from Object) |

ValidKeySize(Int32) |
Determines whether the specified key size is valid for the current algorithm. (Inherited from SymmetricAlgorithm) |

## Explicit Interface Implementations

IDisposable.Dispose() |
Releases the unmanaged resources used by the SymmetricAlgorithm and optionally releases the managed resources. (Inherited from SymmetricAlgorithm) |