Login   Register  
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: 2002-09-23 02:52
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$i1)) ^ $k;

            
$cipher .= chr($cipherby);

        }

        if (
$case == 'de') {

            
$cipher urldecode(urlencode($cipher));

        } else {

            
$cipher urlencode($cipher);

        }

        return 
$cipher;

    }

}