Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Password is not checking case sensitivity

Tags:

php

mysql

I have a login form in a website which I have created.I have used PHP for verifying password,and password is stored in MYSQL database.The problem i'm facing is Password is not case sensitive.It accepts the characters without considering the case.I'm using Kubuntu linux OS

Could anyone please help to solve this problem?.What value I should use for COLLATION in mysql/my.cnf to avoid this?Or is there any other solution for this?

Any help is greatly appreciated.

Thanks.

like image 374
day_dreamer Avatar asked Aug 21 '26 13:08

day_dreamer


1 Answers

Your MySQL collation is probably case-insensitive. Change the column where the password is stored to a case-sensitive collation.

Some rules of thumb:

  • When a collation ends in _ci, it is case-insensitive.
  • When a collation ends in _cs, it is case-sensitive.

Example:

  • utf8_general_ci is case-insensitive.
  • utf8_bin is case-sensitive

However, an important note

If you are experiencing this problem, you are probably storing the passwords wrong. You should not store the passwords in plain text, but you should store a hash of the password instead, and salt it properly.

Then, when a user logs in, you hash his entry, and compare the hash with what your DB holds. When both equal, the user probably entered a correct password.

like image 123
Konerak Avatar answered Aug 23 '26 04:08

Konerak



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!