CI框架最新加密解密类用法测试

来源:互联网 发布:java 线程池 使用 编辑:程序博客网 时间:2024/06/11 06:03

加密方法:

 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'
就是为了能统一方法,方便更加直观方便地使用加密解密进行数据验证与交互!