$file.dec"); exec("/usr/bin/openssl enc {$opt} -aes-256-cbc -in $file.dec -out $file.enc -k {$pass}"); $myfile = file("$file.enc"); exec("rm $file"); exec("rm $file.dec"); exec("rm $file.enc"); while (list($line_num, $line) = each($myfile)) { $result .= $line; } return $result; } function crypt_dataA(& $data, $pass, $opt) { log_error("entering crypt_data()"); $pspec = "/usr/bin/openssl enc {$opt} -aes-256-cbc -k {$pass}"; $dspec = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "e")); log_error("proc_open"); $fp = proc_open($pspec, $dspec, $pipes); if (!$fp) return false; log_error("writing to pipe[0]"); fwrite($pipes[0], $data); log_error("closing pipe[0]"); fclose($pipes[0]); log_error("enter while()"); while (!feof($pipes[1])) { $rslt .= fread($pipes[1], 8192); } log_error("exit while()"); fclose($pipes[1]); proc_close($fp); return $rslt; } function encrypt_data(& $data, $pass) { return base64_encode(crypt_data($data, $pass, "-e")); } function decrypt_data(& $data, $pass) { return crypt_data(base64_decode($data), $pass, "-d"); } function tagfile_reformat($in, & $out, $tag) { $out = "---- BEGIN {$tag} ----\n"; $size = 80; $oset = 0; while ($size >= 64) { $line = substr($in, $oset, 64); $out .= $line."\n"; $size = strlen($line); $oset += $size; } $out .= "---- END {$tag} ----\n"; return true; } function tagfile_deformat($in, & $out, $tag) { $btag_val = "---- BEGIN {$tag} ----"; $etag_val = "---- END {$tag} ----"; $btag_len = strlen($btag_val); $etag_len = strlen($etag_val); $btag_pos = stripos($in, $btag_val); $etag_pos = stripos($in, $etag_val); if (($btag_pos === false) || ($etag_pos === false)) return false; $body_pos = $btag_pos + $btag_len; $body_len = strlen($in); $body_len -= strlen($btag_len); $body_len -= strlen($etag_len); $out = substr($in, $body_pos, $body_len); return true; } function stripos($str,$needle) { return strpos(strtolower($str), strtolower($needle)); } ?>