C# Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CUnicode C++Unicode CMFCDelphi DLLDelphi ActiveXFoxProJavaPerlPHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

C# Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
MIME
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar Archive
Upload
XML
XMP
Zip Compression


More Examples...
Amazon S3
NTLM
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

PBES2 Password-Based Encryption (PBE)

Demonstrates how to implement password-based encryption according to the PKCS #5 v2.0: Password-Based Cryptography Standard (published by RSA Laboratories). This example uses PBES2, which ise based on the PBKDF2 function and an underlying block cipher such as RC2, DES, etc.

Download: Chilkat .NET Assemblies

Chilkat.Crypt2 crypt = new Chilkat.Crypt2();

bool success;
success = crypt.UnlockComponent("Anything for 30-day trial");
if (success != true) {
    MessageBox.Show(crypt.LastErrorText);
    return;
}

//  Set properties for PBES2 encryption:

crypt.CryptAlgorithm = "pbes2";
crypt.PbesPassword = "mySecretPassword";

//  Set the underlying PBE algorithm (and key length):
crypt.PbesAlgorithm = "rc2";
crypt.KeyLength = 128;
//  Only required for the RC2 algorithm:
crypt.Rc2EffectiveKeyLength = 128;

//  By definition, the block encryption algorithm (RC2 or whichever
//  was selected) will run in CBC mode.  Therefore, we need
//  an IV.  The IV is equal in length to the block size of the
//  algorithm.  RC2 has a block size of 8 bytes (regardless of
//  key length), so set the IV to some value that is 8 bytes
//  in length:
crypt.SetEncodedIV("0000000000000000","hex");

//  Give it some salt:
crypt.SetEncodedSalt("0102030405060708","hex");

//  A higher iteration count makes the algorithm more
//  computationally expensive and therefore exhaustive
//  searches (for breaking the encryption) is more difficult:
crypt.IterationCount = 1024;

//  A hash algorithm needs to be set for PBES2:
crypt.HashAlgorithm = "sha1";

//  Indicate that the encrypted bytes should be returned
//  as a hex string:
crypt.EncodingMode = "hex";

string plainText;
plainText = "To be encrypted.";

string encryptedText;
encryptedText = crypt.EncryptStringENC(plainText);

textBox1.Text += encryptedText + "\r\n";

//  Now decrypt:
string decryptedText;
decryptedText = crypt.DecryptStringENC(encryptedText);

textBox1.Text += decryptedText + "\r\n";
 

© 2000-2013 Chilkat Software, Inc. All Rights Reserved.