FoxPro Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript



Visual FoxPro Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
Socket
Spider
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Email Object
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
FileAccess
Bzip2
LZW
Icon

 

Non-Chilkat Links
Text and String Handling

Match Java JCE AES CBC Encryption Results

Shows sample code in Visual FoxPro that matches Java JCE encryption results for 128-bit AES encryption using CBC mode. The equivalent Java JCE code is provided as commented-out code following the Visual FoxPro code.

Download Chilkat Crypt ActiveX

LOCAL loCrypt
LOCAL lnSuccess
LOCAL lcPassword
LOCAL lcSecretKeyHex
LOCAL lcText
LOCAL lcEncText

loCrypt = CreateObject('Chilkat.Crypt2')

* Any string argument automatically begins the 30-day trial.

lnSuccess = loCrypt.UnlockComponent("30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX("Crypt component unlock failed")
    QUIT
ENDIF

lcPassword = "secretPassphrase"

* Use the Digest MD5 algorithm to get a 16-byte binary secret key.
loCrypt.HashAlgorithm = "md5"
loCrypt.EncodingMode = "hex"

lcSecretKeyHex = loCrypt.HashStringENC(lcPassword)

loCrypt.CryptAlgorithm = "aes"
loCrypt.CipherMode = "cbc"
loCrypt.KeyLength = 128
loCrypt.SetEncodedKey(lcSecretKeyHex,"hex")
loCrypt.SetEncodedIV(lcSecretKeyHex,"hex")

lcText = "Though this be madness, yet there is method in 't"

lcEncText = loCrypt.EncryptStringENC(lcText)

* Displays:
* 79c357db030ac9ae66a84528a2f387717c5f10b48ef4385e5fe7b9227b3eeb8a
* 77f24900890e72e35758b1f79f8f78d51ebe94536c30c57fd7b2c17b927715d7

? lcEncText

* 
* This is the equivalent code using Java JCE:
* 
* String password = "secretPassphrase";
* 
* MessageDigest md = MessageDigest.getInstance("MD5");
* md.update(password.getBytes("UTF-8"), 0, password.length());
* byte[] rawKey = md.digest();
* String text = "Though this be madness, yet there is method in 't";
* 
* SecretKeySpec skeySpec = new SecretKeySpec(rawKey, "AES");
* IvParameterSpec ivSpec = new IvParameterSpec(rawKey);
* 
* Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
* cipher.init(Cipher.ENCRYPT_MODE, skeySpec, ivSpec);
* 
* byte[] encrypted = cipher.doFinal(text.getBytes("UTF-8"));
* 
* System.out.println(toHex(encrypted));

* This is the toHex method in Java:
* public static String toHex (byte buf[]) {
* 
* StringBuffer strbuf = new StringBuffer(buf.length * 2);
* int i;
* 
* for (i = 0; i < buf.length; i++) {
* if (((int) buf[i] & 0xff) < 0x10)
* strbuf.append("0");
* 
* strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
* }
* 
* return strbuf.toString();
* }

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

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

Mail Component · .NET Email Component · ASP Mail Component · XML Parser