cvs: pear /Crypt .cvsignore Crypt_NumberID.php Crypt_Rc4.php README package.xml /Crypt_Rc4 Crypt_Rc4.php package.xml
| From: | Dave Mertens | Date: | Thu, 25 Apr 2002 20:42:07 +0000 |
| Subject: | cvs: pear /Crypt .cvsignore Crypt_NumberID.php Crypt_Rc4.php README package.xml /Crypt_Rc4 Crypt_Rc4.php package.xml | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-3565@lists.php.net to get a copy of this message | ||
zyprexia Thu Apr 25 16:42:07 2002 EDT
Added files:
/pear/Crypt_Rc4 Crypt_Rc4.php package.xml
Removed files:
/pear/Crypt .cvsignore Crypt_NumberID.php Crypt_Rc4.php README
package.xml
Log:
- Renamed package Crypt to Crypt_Rc4
- Dropped Crypt_NumberID
- Updated package.xml
Index: pear/Crypt_Rc4/Crypt_Rc4.php
+++ pear/Crypt_Rc4/Crypt_Rc4.php
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP Version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2002 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt.
|
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Authors: Dave Mertens <dmertens@zyprexia.com> |
// +----------------------------------------------------------------------+
//
// $Id: Crypt_Rc4.php,v 1.1 2002/04/25 20:42:07 zyprexia Exp $
/**
* RC4 stream cipher routines implementation
*
* in PHP4 based on code written by Damien Miller <djm@mindrot.org>
*
* Usage:
* $key = "pear";
* $message = "PEAR rulez!";
*
* $rc4 = new RC4;
* $rc4->key($key);
* echo "Original message: $message <br>\n";
* $rc4->crypt($message);
* echo "Encrypted message: $message <br>\n";
* $rc4->decrypt($message);
* echo "Decrypted message: $message <br>\n";
*
* @version $Revision: 1.1 $
* @access public
* @package Crypt
* @author Dave Mertens <dmertens@zyprexia.com>
*/
class Crypt_RC4 {
/**
* Real programmers...
* @var array
*/
var $s= array();
/**
* Real programmers...
* @var array
*/
var $i= 0;
/**
* Real programmers...
* @var array
*/
var $j= 0;
/**
* Assign encryption key to class
*
* @param string key - Key which will be used for encryption
* @return void
* @access public
*/
function key(&$key) {
$len= strlen($key);
for ($this->i = 0; $this->i < 256; $this->i++) {
$this->s[$this->i] = $this->i;
}
$this->j = 0;
for ($this->i = 0; $this->i < 256; $this->i++) {
$this->j = ($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % 256;
$t = $this->s[$this->i];
$this->s[$this->i] = $this->s[$this->j];
$this->s[$this->j] = $t;
}
$this->i = $this->j = 0;
}
/**
* Encrypt function
*
* @param string paramstr - string that will encrypted
* @return void
* @access public
*/
function crypt(&$paramstr) {
$len= strlen($paramstr);
for ($c= 0; $c < $len; $c++) {
$this->i = ($this->i + 1) % 256;
$this->j = ($this->j + $this->s[$this->i]) % 256;
$t = $this->s[$this->i];
$this->s[$this->i] = $this->s[$this->j];
$this->s[$this->j] = $t;
$t = ($this->s[$this->i] + $this->s[$this->j]) % 256;
$paramstr[$c] = chr(ord($paramstr[$c]) ^ $this->s[$t]);
}
}
/**
* Decrypt function
*
* @param string paramstr - string that will decrypted
* @return void
* @access public
*/
function decrypt(&$paramstr) {
$len= strlen($paramstr);
for ($c= 0; $c < $len; $c++) {
$this->i = ($this->i + 1) % 256;
$this->j = ($this->j + $this->s[$this->i]) % 256;
$t = $this->s[$this->i];
$this->s[$this->i] = $this->s[$this->j];
$this->s[$this->j] = $t;
$t = ($this->s[$this->i] + $this->s[$this->j]) % 256;
$paramstr[$c] = chr(ord($paramstr[$c]) ^ $this->s[$t]);
}
}
} //end of RC4 class
?>
Index: pear/Crypt_Rc4/package.xml
+++ pear/Crypt_Rc4/package.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE package SYSTEM "../package.dtd">
<!-- do not use the "Type" attribute here, that one is only for
generated package.xml files -->
<package version="1.0">
<name>Crypt</name>
<description>RC4 encryption class</description>
<summary>Encryption class for rc4 encryption</summary>
<maintainers>
<maintainer>
<user>zyprexia</user>
<name>Dave Mertens</name>
<email>dmertens@zyprexia.com</email>
</maintainer>
</maintainers>
<release>
<version>0.1</version>
<license>PHP</license>
<state>stable</state>
<date>2002-04-25</date>
<notes>
This is the first release of the RC4 encryption class.
</notes>
<filelist>
<dir name="/" baseinstalldir="Crypt">
<file role="php">Crypt_Rc4.php</file>
</dir>
</filelist>
</release>
</package>