Here is the text of the NIST sp800-63b Digital Identity Guidelines.
To save a few megabytes of text in a database somewhere. Likely the same database that gets hacked.
Which shouldn’t even matter because passwords are salted and hashed before storing them, so you’re not actually saving anything. At least they better be. If you’re not hashing passwords you’ve got a much bigger problem than low complexity passwords.
The place that truncates passwords is probably not the place to look for best practices when it comes to security. :-)
Hashing passwords isn’t even best practice at this point, it’s the minimally acceptable standard.
Lots of older databases had fixed length fields, and you had to pad it if it was smaller. VARCHAR
is a relatively new thing. So it’s not just saving space, but that old databases tended to force the issue.
Nobody has an excuse today. Even Cobol has variable length strings.