<?php use ParagonIE\Halite\File; use ParagonIE\Halite\KeyFactory; use ParagonIE\Halite\Symmetric\Crypto as Symmetric; use ParagonIE\HiddenString\HiddenString; set_time_limit(300); function endecrypt($string, $encrypt = true, $file = false) { global $dir_files, $site_url; if(!file_exists($dir_files.'/'.hash('sha256', $site_url).'.key')) { $enckey = KeyFactory::generateEncryptionKey(); KeyFactory::save($enckey, $dir_files.'/'.hash('sha256', $site_url).'.key'); } else { $enckey = KeyFactory::loadEncryptionKey($dir_files.'/'.hash('sha256', $site_url).'.key'); if($file == false) { if($encrypt == true) { return Symmetric::encrypt(new HiddenString($string), $enckey); } else { return Symmetric::decrypt($string, $enckey); } } else { if($encrypt == true) { File::encrypt($string, $string.'.enc', $enckey); } else { File::decrypt($string.'.enc', $string, $enckey); } } } } ?>