C# Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP 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

 

 

 

 

 

 

RSA Encrypt and Decrypt Credit Card Numbers

C# sample code to RSA public-key encrypt and decrypt credit card numbers. The RSA key is loaded from an unencrypted PKCS8 file. Chilkat provides many ways of setting the key -- loading from both encrypted and unencrypted PEM, PKCS8, DER, PVK, etc. Keys may be loaded from files or in-memory representations. (The RSA component also provides the ability to generate RSA keys.)

Download Chilkat .NET for 4.0 Framework

Download Chilkat .NET for 64-bit 4.0 Framework (x64)

Download Chilkat .NET for 2.0 / 3.5 Framework

Download Chilkat .NET for 64-bit 2.0 / 3.5 Framework (x64)

Download Chilkat .NET for 1.0 / 1.1 Framework

Chilkat.Rsa rsa = new Chilkat.Rsa();

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

Chilkat.PrivateKey key = new Chilkat.PrivateKey();

//  Load an RSA private key from a PKCS8 file:
success = key.LoadPkcs8File("rsaPrivateKey.p8");
if (success != true) {
    MessageBox.Show(key.LastErrorText);
    return;
}

//  Get the key as XML:
string keyXml;
keyXml = key.GetXml();

//  We'll encrypt with the public key and decrypt with the private
//  key.  (It's also possible to do the reverse.)
//  Note: An RSA private key is composed of different parts internally: modulus, exponent, P, Q, etc.
//  An RSA public-key is a sub-set of the private key.
//  Therefore, when you have a private key, you really have
//  both public and private keys.
success = rsa.ImportPublicKey(keyXml);
if (success != true) {
    MessageBox.Show(rsa.LastErrorText);
    return;
}

//  Encrypt a VISA credit card number:
//  1234-5678-0000-9999
string ccNumber;
ccNumber = "1234567800009999";

bool usePrivateKey;
usePrivateKey = false;
rsa.EncodingMode = "base64";
string encryptedStr;
encryptedStr = rsa.EncryptStringENC(ccNumber,usePrivateKey);
textBox1.Text += "Encrypted:" + "\r\n";
textBox1.Text += encryptedStr + "\r\n";

//  Now decrypt:
Chilkat.Rsa rsaDecryptor = new Chilkat.Rsa();

rsaDecryptor.EncodingMode = "base64";
rsaDecryptor.ImportPrivateKey(keyXml);

usePrivateKey = true;
string decryptedStr;
decryptedStr = rsaDecryptor.DecryptStringENC(encryptedStr,usePrivateKey);

textBox1.Text += "Decrypted:" + "\r\n";
textBox1.Text += decryptedStr + "\r\n";

//  Important: RSA encryption should only be used to encrypt small amounts of data.
//  It is typically used for encrypting symmetric encryption
//  keys such that a symmetric encryption algorithm, such as
//  AES is then used to encrypt/decrypt bulk data.

 

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

Email Component · XML Parser