codeigniter 中的 Bcrypt 哈希

问题描述

我正在开发一些以前使用 md5 进行密码散列的 codeigniter webapp,我想更改为 Bcrypt。 我已成功对密码进行哈希处理,但我似乎无法理解为什么即使密码错误登录代码也会返回 true。任何密码都可以登录... 我还在学习 PHP,所以要友好。

这是我的登录功能

public function login()
{
      $email= $this->input->post('email',TRUE);
      $password= $this->input->post('password',TRUE);

 $data['email']= $email;
      $data['password']= password_verify($this->input->post('password',TRUE),PASSWORD_DEFAULT);
      $sess_array=array();
      $getdata=$this->Api_model->getSingleRow('admin',$data);
      if($getdata)
      {           
        if($getdata->status==1)
        {
          $this->session->unset_userdata($sess_array);
          $sess_array = array(
           'name' => $getdata->name,'id' => $getdata->id,);

         $this->session->set_userdata( $sess_array);
          $dataget['get_data'] =$getdata;
          $dataget['see_data'] =$sess_array;
          redirect('Admin/home');    
        }
        else
        {
          $this->session->set_flashdata('block',' Contact to admin.');
            redirect('');
        }
      }
      else
      {
        $this->session->set_flashdata('msg','Please enter valid Username or Password');
        redirect('');
      }
    } ```



这是密码的注册



$data['password']= password_hash($this->input->post('password',PASSWORD_DEFAULT) ;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)