Nginx htpasswd old password still working 2021-11-17 02:45

Today I encountered a problem about htpasswd. I use htpasswd to make simple user authentication for my website. I use nginx as the reverse agent of my personal website. Today I tried to modify a password. I added a random number behind my old password. Like this old_pwd -> old_pwd_666. After the password is modified, I found that the old password can still pass the authentication. It's too strange. After reviewing the htpasswd helping documentation, I found the reason for the problem.

When using the crypt() algorithm, note that only the  first  8  characters  of  the
password  are  used  to  form the password. If the supplied password is longer, the
extra characters will be silently discarded.

My original password length is 8 characters!!! Therefore, the random number added later is ignored.

EOF