You are here

function rc4Encrypt in Simplenews Statistics 6.2

Encrypt given plain text using the key with RC4 algorithm. All parameters and return value are in binary format.

Parameters

string key - secret key for encryption:

string pt - plain text to be encrypted:

Return value

string

4 calls to rc4Encrypt()
rc4Decrypt in ./rc4.inc
Decrypt given cipher text using the key with RC4 algorithm. All parameters and return value are in binary format.
simplenews_statistics_mail_alter in ./simplenews_statistics.module
Implemetation of hook_mail_alter().
_simplenews_statistics_decode in ./simplenews_statistics.module
Decode a request
_simplenews_statistics_replace_url in ./simplenews_statistics.module
Alter link to go through statistics

File

./rc4.inc, line 23
RC4 symmetric cipher encryption/decryption Copyright (c) 2006 by Ali Farhadi. released under the terms of the Gnu Public License. see the GPL for details.

Code

function rc4Encrypt($key, $pt) {
  $s = array();
  for ($i = 0; $i < 256; $i++) {
    $s[$i] = $i;
  }
  $j = 0;
  $x;
  for ($i = 0; $i < 256; $i++) {
    $j = ($j + $s[$i] + ord($key[$i % strlen($key)])) % 256;
    $x = $s[$i];
    $s[$i] = $s[$j];
    $s[$j] = $x;
  }
  $i = 0;
  $j = 0;
  $ct = '';
  $y;
  for ($y = 0; $y < strlen($pt); $y++) {
    $i = ($i + 1) % 256;
    $j = ($j + $s[$i]) % 256;
    $x = $s[$i];
    $s[$i] = $s[$j];
    $s[$j] = $x;
    $ct .= $pt[$y] ^ chr($s[($s[$i] + $s[$j]) % 256]);
  }
  return $ct;
}