加密方法:
public function ecode(){//加密测试
$this->load->library('encryption');
$key=md5("meiboss");//设置32个字符的KEY值
//加密方法、模式申明
$this->encryption->initialize(
array(
'cipher' => 'aes-256',
'mode' => 'CBC',
'key' => $key
)
);
$text=array("a"=>'100',"b"=>'aaa',"c"=>'我是中国人');//待加密的数组
$text2= json_encode($text);//先把数组转化为json 格式
$ciphertext = $this->encryption->encrypt($text2) ;//加密码后
$datas=array("sts"=>$ciphertext);
$this->load->view("test",$datas);//绑定到CI框架的表单上
}
解密方法测试:
public function dcode(){//解密测试
$ciphertext=$this->input->post("ciphertext");//接收POST过来的已加密数据字符串
$this->load->library('encryption');
$key=md5("meiboss");//设置32个字符的KEY值
//加密方法、模式申明
$this->encryption->initialize(
array(
'cipher' => 'aes-256',
'mode' => 'CBC',
'key' => $key
)
);
$text= $this->encryption->decrypt($ciphertext);//解密后,得到当初加密前的json数据
$text2= json_decode($text,true);//将json数据格式转化为数组格式
//操作完毕,最终$text2的值就是array("a"=>'100',"b"=>'aaa',"c"=>'我是中国人');
}
大家看到了没有,这个方法其实很好做各种第三方接口的数据交互与认证(如java、net等系统),这里非要单独设置申明一下
'cipher' => 'aes-256' 与 'mode' => 'CBC'
就是为了能统一方法,方便更加直观方便地使用加密解密进行数据验证与交互!