如何更改bcrypt上的CodeIgniter md5?我想要哈希密码
型号代码http://wklej.org/id/2784670/
public function can_log_in($login, $password){
// var_dump($login);
// print_r($password);
// bcrypt
// die;
// print_r(md5($password));
$result = $this->db
->from('users')
->where('email', $login)
->where('password', md5($password))
->get();
// print_r($result);die;
$this->db->where('email', $login);
$this->db->where('password', md5($password)); How change md5 on bcrypt?>???!
$query = $this->db->get('users');
if ($result->num_rows()== 1){
return true;
} else {
return false;
}
}
答案 0 :(得分:1)
你可以通过它改变为bcrpt哈希passowrd
$这 - > hashpassword($这 - >输入 - >柱('密码'))
答案 1 :(得分:1)
我会使用php password_hash()
在您的数据库密码列tbl <- table(data1$Group)
subset(data1, Group %in% names(tbl)[tbl>2])
varchar 255
以上示例将输出类似于:
的内容public function createUser() {
$options = [
'cost' => 12,
];
$new_password = password_hash($this->input->post('password'), PASSWORD_BCRYPT, $options);
$data = array(
'username' => $this->input->post('username'),
'password' => $new_password
);
$this->db->set($data);
$this->db->insert('user');
}
和php password_verify()
然后你需要做的是
模型Guide
文件名:Login_model.php
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K
Controller Guide
文件名:Login.php
<?php
class Login_model extends CI_Model {
public function getUser() {
if ($this->verify()) {
$this->db->select('*');
$this->db->from('user');
$this->db->where('username', $this->input->post('username'));
if ($query->num_rows() > 0) {
return $query->row();
} else {
return false;
}
}
}
public function verify() {
$hashed = $this->getHash();
$password = $this->input->post('password');
if (password_verify($password, $hashed)) {
return true;
} else {
return false;
}
}
public function getHash() {
$this->db->select('*');
$this->db->from('user');
$this->db->where('username', $this->input->post('username'));
if ($query->num_rows() > 0) {
return $query->row()->password;
} else {
return false;
}
}
}
注意:不要在config.php中根据需要在CI3版本中设置base_url