Encrypting and Decrypting with CAST

This article shows how to encrypt and decrypt data using the CAST component of IPWorks Encrypt.

Date Entered: 11/12/2014    Last Updated: 11/12/2014

IPWorks Encrypt makes it very easy to encrypt and decrypt data. This article will detail the process of performing CAST encryption and decryption.

CAST Encryption

CAST Encryption is as simple as selecting a KeyPassword and specifying the data to be encrypted. Please see the following example:

Cast cast = new Cast(); cast.KeyPassword = "MyKeyPassword"; cast.InputFile = "C:\\Path\\to\\UnEncryptedFile.txt"; cast.OutputFile = "C:\\Path\\to\\EncryptedFile.dat"; cast.Encrypt();

CAST Decryption

CAST Decryption is just as simple as CAST Encryption. All that is needed is the encrypted data and the KeyPassword that was used during the encryption.

Cast cast = new Cast(); cast.KeyPassword = "MyKeyPassword"; cast.InputFile = "C:\\Path\\to\\EncryptedFile.dat"; cast.OutputFile = "C:\\Path\\to\\DecryptedFile.txt"; cast.Decrypt();

Changing the Key Size

The CAST Encryption algorithm supports keys sizes from 40 bits to 128 bits in increments of 8 (e.g., 40, 48, 56, etc). You can specify the key size to be used for Encryption and Decryption via the "KeySize" configuration setting as detailed below.

cast.Config("KeySize=96"); //Set Key Size to 96 bits.

Note: The KeySize configuration option is only valid when KeyPassword is set and the component automatically generates the Key and IV values.

Configuring CAST to use Hex-encoded strings

The CAST component can be instructed to use Hex-encoded strings for its encryption and decryption operations. When the UseHex property is set to true, the Encrypt operation will Hex-encode the encrypted data. Similarly, if the UseHex property is set to true, the Decrypt operation will assume that the encrypted data has been Hex-encoded.

Additional Options

The CAST component supports a variety of options to offer more control over the encryption and decryption mechanisms used. Options include the ability to specify the Cipher Mode and Padding Mode used, as well as specifying the Key and IV values. Please see the IPWorks Encrypt help documentation for more information on these options.

We appreciate your feedback.  If you have any questions, comments, or suggestions about this entry please contact our support team at kb@nsoftware.com.