Re: Encryption & Decryption script



On Sep 30, 4:40 pm, The Hajj <hajji.hims...@xxxxxxxxx> wrote:
^ (bitwise operator) is for ascii values, won't work on binary.
need to convert from binary to at least decimal or maybe hex before
xor. You'll have to break it up into 8 bits as well to get a valid
ascii character.

I cosidered that before but when read file as whole there is no
problem, using fread($fp,filesize($file) or file_get_contents($file).
However fread($fp,65536) or else makes the case, breaks the bit
block ;). For now i removed "encrypted_so" part...

<?php
define("READ_SIZE",1000000);
/* Mother Eye Chipper with PHP, Licence:GPL,
Author: Barış ÇUHADAR
Prepared to use in Console,
usage: "for encryption: php chipper.php -e <key> <file>"
"for decryption: php chipper.php -d <key> <file>" */
echo "A Basic Encryption & Decryption Program\n";
if(isset($argv[1]) && isset($argv[2]) && is_file($argv[3]) && $argv[3]!
=$_SERVER['PHP_SELF'])
{
$process = $argv[1];
$key = $argv[2];
$file = $argv[3];

if($process == "-e")
{
encrypt_file($file,$key);
}
else if($process == "-d")
{
decrypt_file($file,$key);
}
}
else
{
if($argc < 4)
echo "missing parameters\n \tdefault usage: php chipper.php [-e/-d]
<key> <filename>\n";
else if(!is_file($argv[3]))
echo "file " . $argv[3] . " can not be found or is not a file\n";
else if($argv[3]==$_SERVER['PHP_SELF'])
echo "trying to encrypt own file\n";
else echo "unfortunately program is fubar\n";
}

/****************************************************/
/* encryption begins */
function encrypt_file($file,$key)
{
$flag = false;
$k = 0;
$fp_r = fopen($file,"rb");
while(!feof($fp_r))
{
$foo = fread($fp_r,READ_SIZE);
for($i = 0; $i < strlen($foo); $i++)
{
$r[$i] = $foo[$i] ^ $key[$k];

if($k==sizeof($key))
$k = 0;
$k++;
}
$fp_w = fopen($file . "_temp","a");
/* encrypted content is being written on file*/
for($i = 0; $i < sizeof($r); $i++)
fwrite($fp_w,$r[$i]);
fclose($fp_w);
$foo=null;
$k=0;
}
fclose($fp_r);
unlink($file);
rename($file . "_temp",$file);
echo "Encryption made successfully!\n";
}
/****************************************************/
/* decryption */
function decrypt_file($file,$key)
{
$k = 0;
$fp_r = fopen($file,"rb");
while(!feof($fp_r))
{
$r = fread($fp_r,READ_SIZE);
for($i = 0; $i < strlen($r); $i++)
{
$foo[$i] = $r[$i] ^ $key[$k];

if($k==sizeof($key))
$k =0;
$k++;
}
/* decrypted content is being written on file */
$fp_w = fopen($file . "_temp","a");
for($i = 0; $i < sizeof($foo); $i++)
fwrite($fp_w,$foo[$i]);
fclose($fp_w);
}
fclose($fp_r);
unlink($file);
rename($file . "_temp",$file);
echo "Decryption made successfully!\n";
}

?>
.



Relevant Pages