2016-04-30 35 views
-2

我需要在用户定义的函数内使用AES加密工具,以便在文件中多次访问它。在用户定义函数内使用AES加密

$sms = 'UF4niWyCEYBTEF2ELU+B2yBZT+ivehO+VXtDoalPPqg='; 

decode($sms); //the function below 
$dec = decode($sms); 
//echo "After encryption: ".$enc."<br/>"; 
echo "After decryption: ".$dec."<br/>"; 

function decode($sms) { 
include 'AES.php'; //this is my AES file copied from the AES website 
$inputText = $sms; 
$inputKey = '_______'; //this is the underscore key pressed 7 times. 
$blockSize = 256; 
$aes = new AES($inputText, $inputKey, $blockSize); 
$enc = $aes->encrypt(); 
$aes->setData($enc); 
$dec=$aes->decrypt(); 

return $dec; 
} 

我试图与上面的代码不同的尝试和搜索功能中的功能,但我无法解析AES部分没有错误。我通常接收回“无法重新声明类AES在/ home/MYFILE”

+0

似乎有一个stackoverflow结构的缺陷。一个人怎么能没有解释下点击?或者这个问题会让我再次点击。 –

回答

0

你从PHP Cannot redeclare class AES in /home/myfile得到的错误是正确的:使用include里面的功能,PHP将尝试包括每次的文件调用函数

在下面的代码中,“包括”语句被移动的功能之外:

$sms = 'UF4niWyCEYBTEF2ELU+B2yBZT+ivehO+VXtDoalPPqg='; 

decode($sms); //the function below 
$dec = decode($sms); 
//echo "After encryption: ".$enc."<br/>"; 
echo "After decryption: ".$dec."<br/>"; 

include 'AES.php'; //this is my AES file copied from the AES website 
function decode($sms) { 
    $inputText = $sms; 
    $inputKey = '_______'; //this is the underscore key pressed 7 times. 
    $blockSize = 256; 
    $aes = new AES($inputText, $inputKey, $blockSize); 
    $enc = $aes->encrypt(); 
    $aes->setData($enc); 
    $dec=$aes->decrypt(); 

    return $dec; 
} 

这应该解决你提到的错误。

+0

我做到了这一点,并收到了一个不同的错误:在'/ home/myfolder/Address'找不到类'AES'...我在运行上面的代码的文件所在的文件夹中有AES.php,但我想它可以因为它不在函数中,所以看不到AES.php?任何其他建议请求? –

+0

尝试:'include __DIR __'/ AES.php';'但是真的,你应该为新的错误开一个新的问题。 – Jacco