Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

112-bit 3DES Encryption

Demonstrates how to do 112-bit 3DES encryption.

Download Chilkat Crypt ActiveX

<?php

$crypt = new COM("Chilkat.Crypt2");

$success = $crypt->UnlockComponent('Anything for 30-day trial');
if ($success != true) {
    print 'Crypt component unlock failed' . "\n";
    exit;
}

//  Specify 3DES for the encryption algorithm:
$crypt->CryptAlgorithm = '3des';

//  CipherMode may be "ecb" or "cbc"
$crypt->CipherMode = 'ecb';

//  Set the key length
$crypt->KeyLength = 112;

//  Choose a padding scheme...
$crypt->PaddingScheme = 0;

//  EncodingMode specifies the encoding of the output for
//  encryption, and the input for decryption.
//  It may be "hex", "url", "base64", or "quoted-printable".
$crypt->EncodingMode = 'hex';

//  An initialization vector is required if using CBC or CFB modes.
//  ECB mode does not use an IV.
//  The length of the IV is equal to the algorithm's block size.
//  It is NOT equal to the length of the key.
$ivHex = '0001020304050607';
$crypt->SetEncodedIV($ivHex,'hex');

//  The secret key must equal the size of the key.
//  Remember, DES (i.e. 3DES) uses a parity bit in the key,
//  so 112-bit 3DES requires 128 bits of key material
//  (i.e. 16 bytes)
$keyHex = '11165395389c904862912aba16d315b8';
$crypt->SetEncodedKey($keyHex,'hex');

//  Encrypt a string...
$encStr = $crypt->encryptStringENC('999999987');
//  The result should be: 8CDBB138C11EDC3A77F04E488B46385C
print $encStr . "\n";

//  Now decrypt:
$decStr = $crypt->decryptStringENC($encStr);
print $decStr . "\n";
?>

Need a specific example? Send a request to support@chilkatsoft.com

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