<?php
class rc4crypt
{
function endecrypt( $pwd, $data, $case = "encrypt" )
{
if ( $case == "decrypt" )
{
$data = urldecode( $data );
}
$key[] = "";
$box[] = "";
$temp_swap = "";
$pwd_length = 0;
$pwd_length = strlen( $pwd );
$i = 0;
for ( ; $i <= 255; ++$i )
{
$key[$i] = ord( substr( $pwd, $i % $pwd_length, 1 ) );
$box[$i] = $i;
}
$x = 0;
$i = 0;
for ( ; $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;
$i = 0;
for ( ; $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 == "decrypt" )
{
$cipher = urldecode( urlencode( $cipher ) );
}
else
{
$cipher = urlencode( $cipher );
}
return $cipher;
}
function decrypt( $key, $data )
{
return $this->endecrypt( $key, base64_decode( $data ), "decrypt" );
}
function encrypt( $key, $data )
{
return base64_encode( $this->endecrypt( $key, $data, "encrypt" ) );
}
}
if ( defined( "_ENCRYPTOR_KEY_" ) && defined( "_ENCRYPTED_CODE_" ) )
{
if ( strlen( _ENCRYPTOR_KEY_ ) == "32" )
{
$Var_0->rc4crypt( );
$rc4 = $Var_0;
eval( $rc4->decrypt( _ENCRYPTOR_KEY_.strrev( _ENCRYPTOR_KEY_ ), _ENCRYPTED_CODE_ ) );
}
else
{
echo "Invalid key entered!";
}
}
else
{
echo "Decoding error!";
}
?>