sách gpt4 ăn đã đi

php - Xác thực mật khẩu trả về 0 hàng khi dự kiến ​​có 1 hàng

In lại Tác giả: Walker 123 Thời gian cập nhật: 29-11-2023 08:43:26 30 4
mua khóa gpt4 giày nike

Tôi hiện đang thực hiện quy trình xác thực để kiểm tra mật khẩu cũ của người dùng nhưng vấn đề là tôi không hiểu tại sao truy vấn của mình lại trả về 0 hàng trong khi dự kiến ​​sẽ có 1 hàng. Một điều nữa là ngay cả khi tôi không chuyển đổi văn bản mật khẩu thành md5, mật khẩu băm vẫn nhận được câu trả lời chính xác, nhưng tôi không biết tại sao điều này lại xảy ra. Đây là mã của tôi cho đến nay:

hàm công khai validate_oldpassword($username,$password)
{
$this->db->select('user_salt');
$query = $this->db->get_where('đăng nhập',mảng('tên người dùng' => $tên người dùng));

nếu ($query->num_rows() == 1)
{
foreach ($query->result() như $row)
{
$password2 = hash("sha256",$password.$row->user_salt);
$this->db->flush_cache();
$query = $this->db->get_where('đăng nhập', mảng('tên người dùng' => $tên người dùng, 'mật khẩu' => $password2));

//trả về $this->db->last_query();
trả về $query->num_rows();

nếu($query->num_rows()==1){
trả lại "YEHEY";
}khác{
trả về "KHÔNG";
}

}
}

}

Tôi cũng đã kiểm tra truy vấn và nó trả về đúng truy vấn:

CHỌN * TỪ (`đăng nhập`) NƠI `tên người dùng` = 'kahel' VÀ `mật khẩu` = 'f91d20d381426ea56e57da9ab23d0c568b8f934c3ff313e1bbf6c28a4fee758a'

mật khẩu của tôi là Bài kiểm tra muối là XgvT7F~(CYr#*0E1^UI@xkqJ5GcAO8BHsotZpf+WQ!4&ja2y%NdelLmhPSnRw9)zDK63VMuib Mật khẩu được lưu trữ là f91d20d381426ea56e57da9ab23d0c56 8b8f934c3ff313e1bbf6c28a4fee758a

Điều làm tôi khó chịu nhất là trong chức năng trang đăng nhập của tôi, mọi thứ đều hoạt động tốt. Đây là chức năng mã đăng nhập của tôi:

hàm công khai get_login_credentials($username,$password)
{
$this->db->select('user_salt');
$query = $this->db->get_where('đăng nhập',mảng('tên người dùng' => $tên người dùng));

nếu ($query->num_rows() == 1)
{
foreach ($query->result() như $row)
{
$password = hash("sha256",md5($password).$row->user_salt);
$query = $this->db->get_where('đăng nhập', mảng('tên người dùng' => $tên người dùng, 'mật khẩu' => $mật khẩu));
trả về $query->num_rows();
}
}
}

Tôi thực sự không thể hiểu tại sao nó trả về hàng không.

câu trả lời hay nhất

Ở chức năng đăng nhập bạn thiết lập:

$password = hash("sha256",md5($password).$row->user_salt);

Và đặt trong valid_oldpassword:

$password2 = hash("sha256",$password.$row->user_salt);

Bạn không băm md5 nó

Về php - việc xác minh mật khẩu trả về 0 hàng khi dự kiến ​​trả về 1 hàng, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/13151494/

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress