+++ /dev/null
-/* 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.
- *
- * Email: ali[at]farhadi[dot]ir
- * Website: http://farhadi.ir/
- */
-
-/**
- * Encrypt given plain text using the key with RC4 algorithm.
- * All parameters and return value are in binary format.
- *
- * @param string key - secret key for encryption
- * @param string pt - plain text to be encrypted
- * @return string
- */
-function rc4Encrypt(key, pt) {
- s = new Array();
- for (var i=0; i<256; i++) {
- s[i] = i;
- }
- var j = 0;
- var x;
- for (i=0; i<256; i++) {
- j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;
- x = s[i];
- s[i] = s[j];
- s[j] = x;
- }
- i = 0;
- j = 0;
- var ct = '';
- for (var y=0; y<pt.length; y++) {
- i = (i + 1) % 256;
- j = (j + s[i]) % 256;
- x = s[i];
- s[i] = s[j];
- s[j] = x;
- ct += String.fromCharCode(pt.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);
- }
- return ct;
-}
-
-/**
- * Decrypt given cipher text using the key with RC4 algorithm.
- * All parameters and return value are in binary format.
- *
- * @param string key - secret key for decryption
- * @param string ct - cipher text to be decrypted
- * @return string
-*/
-function rc4Decrypt(key, ct) {
- return rc4Encrypt(key, ct);
-}
\ No newline at end of file