PHP Three-Key Triple-DES (3DES) Test Vector

This post provides PHP sample code for matching a test vector (known answer test). 3DES Settings: ECB Mode 192-bit key (i.e. 3 8-bit keys) ASCII Key Bytes: 1234567890123456ABCDEFGH ASCII Text to Encrypt: The quick brown fox jumped over the lazy dog Pads with zero bytes Hexadecimalized Encrypted Result: 13d4d3549493d2870f93c3e0812a06de467e1f9c0bfb16c0 70ede5cabbd3ca62f217a7ae8d47f2c7bf62eb309323b58b PHP Code: <?php $cipher = mcrypt_module_open(MCRYPT_3DES, ”, MCRYPT_MODE_ECB, ”); // […]

POP3 Sessions w.r.t. New Email and Deleting Email

The POP3 protocol is such that a new session is started after a successful login. The session is a snapshot of the existing emails in the mailbox. Any new email that arrives during the session will not be seen until the session is ended (i.e. you logout) and a new session is started. Also, emails marked for deletion are not […]

Purchased Unlock Code

Question: Very quick question for you about distribution. Is it a simple matter of just using this unlock code in the appropriate place in the code and adding a reference to the dll in my project? Or, do I need to include and run your MSI with the installation of my own application for all of my customers? Answer: You […]

FTP2 Events for FoxPro

The Chilkat FTP2 ActiveX has events for progress monitoring. The events may also be used to abort an FTP upload/download, or to skip files and/or directories. These are the events in Visual FoxPro terms: PROCEDURE _IChilkatFtp2Events_PutProgress(percentDone AS Number) AS VOID; PROCEDURE _IChilkatFtp2Events_GetProgress(percentDone AS Number) AS VOID; PROCEDURE _IChilkatFtp2Events_AbortCheck(abortFlag AS Number) AS VOID; PROCEDURE _IChilkatFtp2Events_BeginDownloadFile(filePath AS String, skipFlag AS Number) AS […]

Access MIME Parts from HTTP Request?

Question: Is it possible to “grab“ mime parts directly from incoming HTTP request with Chilkat.Mime object? LoadMimeFile() works like a charm. Answer: Yes, if you are using a ChilkatDotNet2.dll that is more than a few weeks old (from the date of this post), download the latest from http://www.chilkatsoft.com/preRelease/ChilkatDotNet2.zip The latest build has a new feature built into the LoadMime and […]

FTP Unicode Directory Listings

Question: Files on the FTP server contain Unicode characters (Chinese, Japanese, Russian, etc.). How do I get the correct filenames in my (Chilkat FTP2) client? Answer: It is very dependent on the capabilities of the FTP server. Many servers are incapable of sending Unicode directory listings. If an FTP server supports Unicode directory listings, it will use utf-8 (which is […]

Is SMTPQ an SMTP Server?

The SMTPQ service is not an SMTP server. It’s a service that watches a directory for special .eml files. When a .eml file appears, it reads it, extracts and removes information from the header and sends the email by connecting to an SMTP server. The information extracted from the .eml includes the SMTP hostname, login, password, and other sending-params. The […]

scRet: 80090305

If you find an 8-digit hexidecimal error code in your LastErrorText, the best way to understand what it may mean is to Google the error number. In this example, search for “80090305”. You may also send the contents of the LastErrorText to support@chilkatsoft.com. PS> If displaying LastErrorText in an ASP or ASP.NET web page, be sure to HTML encode the […]

Using Assembly in ASP.NET – Simplest Example

This example demonstrates the simplest method for using a .NET assembly in an ASP.NET web page. 1) Create a new file “helloWorld.aspx” in your web site’s root directory. Using a text editor, add this: <%@ Page Language=”C#” %> <%@ Import Namespace=”Chilkat” %> <html> <head> <title>ASP.NET Hello World</title> </head> <body bgcolor=”#FFFFFF”> <p> <% Chilkat.Ftp2 ftp = new Chilkat.Ftp2(); Response.Write(ftp.Version); %> </p> […]

C# Blowfish Test Vectors

C# to match the Blowfish test vectors at this URL: http://www.schneier.com/code/vectors.txt // keys string[] key = new string[] { “0000000000000000”, “FFFFFFFFFFFFFFFF”, “3000000000000000”, “1111111111111111”, “0123456789ABCDEF”, “1111111111111111”, “0000000000000000”, “FEDCBA9876543210”, “7CA110454A1A6E57”, “0131D9619DC1376E”, “07A1133E4A0B2686”, “3849674C2602319E”, “04B915BA43FEB5B6”, “0113B970FD34F2CE”, “0170F175468FB5E6”, “43297FAD38E373FE”, “07A7137045DA2A16”, “04689104C2FD3B2F”, “37D06BB516CB7546”, “1F08260D1AC2465E”, “584023641ABA6176”, “025816164629B007”, “49793EBC79B3258F”, “4FB05E1515AB73A7”, “49E95D6D4CA229BF”, “018310DC409B26D6”, “1C587F1C13924FEF”, “0101010101010101”, “1F1F1F1F0E0E0E0E”, “E0FEE0FEF1FEF1FE”, “0000000000000000”, “FFFFFFFFFFFFFFFF”, “0123456789ABCDEF”, “FEDCBA9876543210” }; string[] plainText = new string[] { […]