Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?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" ) );
- }
- }
- new rc4crypt( )->rc4crypt( );
- $rc4 = new rc4crypt( );
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement