PHP Classes
elePHPant
Icontem

File: class.rc4crypt.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Pablo Gazmuri  >  RemoteSQL  >  class.rc4crypt.php  >  Download  
File: class.rc4crypt.php
Role: Auxiliary script
Content type: text/plain
Description: Mukul Sabharwal's RC4 Implementation
Class: RemoteSQL
Provides client-side access to server-side DB
Author: By
Last change: fixed a mistake made in uploading
Date: 12 years ago
Size: 1,236 bytes
 

Contents

Class file image Download
<?php

// Class Made By Mukul Sabharwal [mukulsabharwal@yahoo.com]
// http://www.devhome.net/php/
// On October 21, 2000

class rc4crypt {

    function
endecrypt ($pwd, $data, $case) {

        if (
$case == 'de') {

           
$data = urldecode($data);

        }

       
$key[] = "";
       
$box[] = "";
       
$temp_swap = "";
       
$pwd_length = 0;

       
$pwd_length = strlen($pwd);

        for (
$i = 0; $i <= 255; $i++) {

           
$key[$i] = ord(substr($pwd, ($i % $pwd_length), 1));
           
$box[$i] = $i;

        }

       
$x = 0;

        for (
$i = 0; $i <= 255; $i++) {

           
$x = ($x + $box[$i] + $key[$i]) % 256;
           
$temp_swap = $box[$i];

           
$box[$i] = $box[$x];
           
$box[$x] = $temp_swap;

        }

       
$temp = "";
       
$k = "";

       
$cipherby = "";
       
$cipher = "";

       
$a = 0;
       
$j = 0;

        for (
$i = 0; $i < strlen($data); $i++) {

           
$a = ($a + 1) % 256;
           
$j = ($j + $box[$a]) % 256;

           
$temp = $box[$a];
           
$box[$a] = $box[$j];

           
$box[$j] = $temp;

           
$k = $box[(($box[$a] + $box[$j]) % 256)];
           
$cipherby = ord(substr($data, $i, 1)) ^ $k;

           
$cipher .= chr($cipherby);

        }

        if (
$case == 'de') {

           
$cipher = urldecode(urlencode($cipher));

        } else {

           
$cipher = urlencode($cipher);

        }

        return
$cipher;

    }

}