我想 将索引文件中的字符串变量和变量操作传递给函数,我希望public函数将这些变量传递给受保护的函数 受保护的功能,根据动作提取编码 并将结果返回到公共函数,然后返回到索引文件 我想做那样的事 但有些事情仍然没有消失。 谁能帮助我呢?请
的index.php
$um = new Code;
if($um->Code_x('xxxstringxxx', 'D')) {
echo$_SESSION['output'];
} else {
echo'something wrong';
}
echo $output->Code_x;
Code.class.php
class Code
{
protected $stringx;
protected $action;
public function Code_x($STRINGX, $ACTION)
{
$this->stringx = $STRINGX;
$this->action = $ACTION;
self::Hash_1($STRINGX, $ACTION);
}
protected function Hash_1( $stringx, $action )
{
$secret_key =
'xxxstring_secret_keyxxx'
;
$secret_iv =
'xxxstring_secret_ivxxx'
;
$output = false;
$encrypt_method = "AES-256-CBC";
$key = hash( 'sha512', $secret_key );
$iv = substr( hash( 'sha512', $secret_iv ), 64, 16 );
if( $action == 'E' ) {
$output = base64_encode( openssl_encrypt( $stringx, $encrypt_method, $key, 0, $iv ) );
return $output;
}
else if( $action == 'D' ){
$output = openssl_decrypt( base64_decode( $stringx ), $encrypt_method, $key, 0, $iv );
return $output;
}
}
}
任何人都可以帮我这个吗?请
答案 0 :(得分:0)
更改...
self::Hash_1($STRINGX, $ACTION);
对此...
return $this->Hash_1($STRINGX, $ACTION);
您可能还希望将$output->Code_x
更改为$um->Code_x
,因为您不必在代码示例中的任何位置定义$output
。
答案 1 :(得分:0)
答案 2 :(得分:0)
并且有一些方法可以使这部分功能从公共变为私有或受保护,
public function Code_x($STRINGX, $ACTION)
到
protected function Code_x($STRINGX, $ACTION)