| DESCryptoServiceProvider | 
| DES | |
| IObject | |
| SymmetricAlgorithm | 
| Name | Description | 
|---|---|
  BlockSize (get) | Returns the block size, in bits, used by this algorithm. | 
  BlockSize (let) | Sets the block size, in bits, used by this algorithm. | 
  FeedbackSize (get) | Returns the Feedback Size in bits. | 
  FeedbackSize (let) | Sets the Feedback size in bits. | 
  IV (get) | Returns the Initialization Vector. | 
  IV (let) | Sets the Initialization Vector to be used. | 
  Key (get) | Returns the current secret key. | 
  Key (let) | Sets the secret key. | 
  KeySize (get) | Returns the key size in bits. | 
  KeySize (let) | Sets the key size in bits. | 
  LegalBlockSizes (get) | Returns a list of legal block sizes. | 
  LegalKeySizes (get) | Returns a list of valid key sizes supported by this algorithm. | 
  Mode (get) | Returns the Cipher mode this algorithm will use. | 
  Mode (let) | Sets the Cipher mode this algorithm will use. | 
  Padding (get) | Returns the padding mode being used. | 
  Padding (let) | Sets the padding mode to be used. | 
| Name | Description | 
|---|---|
  Clear | Clears the Key and IV arrays. | 
  CreateDecryptor | Returns a new cipher used to decrypt data. | 
  CreateEncryptor | Returns a new cipher used to encrypt data. | 
  Equals | This function determines if the value passed in is the same as the current object instance. Meaning, are the Value and this object the same object in memory. | 
  GenerateIV | Generates a random IV array to use. | 
  GenerateKey | Generates a random key to be used. | 
  GetHashCode | Returns a psuedo-unique number used to help identify this object in memory. The current method is to return the value obtained from ObjPtr. If a different method needs to be impelmented then change the method here in this function. | 
  ToString | Returns a string representation of this object instance. The default method simply returns the application name and class name in which this class resides. | 
  ValidKeySize | Tests if a specific bit length is valid for a key. | 
This example shows a very simple method of encrypting then decrypting a String value.
Private Sub Main()
    ' Create a new DES key.
    Dim Key As New DESCryptoServiceProvider
    ' Encrypt a string to a byte array.
    Dim Buffer() As Byte
    Buffer = Encrypt("This is some plaintext!", Key)
    ' Decrypt the byte array back to a string.
    Dim PlainText As String
    PlainText = Decrypt(Buffer, Key)
    ' Display the PlainText value to the console.
    Console.WriteLine PlainText
    Console.ReadKey
End Sub Main
' Encrypt the string.
Private Function Encrypt(ByVal PlainText As String, ByVal Key As SymmetricAlgorithm) As Byte()
    Dim Buffer() As Byte
    Buffer = StrConv(PlainText, vbFromUnicode)
    Dim Encryptor As ICryptoTransform
    Set Encryptor = Key.CreateEncryptor
    Encrypt = Encryptor.TransformFinalBlock(Buffer, 0, cArray.GetLength(Buffer))
End Function
' Decrypt the byte array.
Public Function Decrypt(ByRef CypherText() As Byte, ByVal Key As SymmetricAlgorithm) As String
    Dim Decryptor As ICryptoTransform
    Set Decryptor = Key.CreateDecryptor
    Dim Buffer() As Byte
    Buffer = Decryptor.TransformFinalBlock(CypherText, 0, cArray.GetLength(CypherText))
    Decrypt = StrConv(Buffer, vbUnicode)
End Function