RE: PHP code

From: Colin Viebrock (colin@easydns.com)
Date: Wed Jul 19 2000 - 11:01:46 EDT


> $challenge = read_data($fh);
>
> # Encrypt the challenge bytes with our password to generate
> # the session key.
> $cipher = new Crypt::CBC(pack('H*', $private_key), $crypt_type);
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> # Respond to the challenge with the MD5 checksum of the challenge.
> send_data($fh,md5($challenge));

Since my perl is a bit weak, have I got this pseudo-PHP right then:

        $challenge = socket_read(); /* pseudo function */
                                                /* challenge is sent un-encrypted */

        $private_key = 'abcdef123456890';
        $session_key = pack('H*', $private_key);

        $ans = md5($challenge);
        $encry_ans = mcrypt_CBC(MCRYPT_DES, $session_key, $ans, MCRYPT_ENCRYPT);

        socket_write($encry_ans);

If I can just get over this step, I should have a functional base class
for PHP, which I'm more than willing to share (or open up on Sourceforge or
something).

Also ... I read the the initialization vector is somewhat important.
Can anyone shed light on this?

- Colin



This archive was generated by hypermail 2.1.3 : Tue Oct 19 2004 - 23:35:41 EDT