There's one reason I haven't seen mentioned yet: Because the developer is storing passwords in plaintext, and he wants to save database space. Now, this is not a good reason, but it is a reason nevertheless. Please note that you should never, ever, ever, ever store passwords in plaintext.
Even if saving database space is a concern, you could store a truncated password hash.
What technical reasons are there to have low maximum password lengths?
51–60 of 128 posts
Re: What technical reasons are there to have low maximum password lengths?
#52I work for a company that does the banking websites for several major banks (not going to mention any names here). We have a few customers who have quite low password length limits. There isn't any technical reason for this. We provide a configuration option that the bank can set to limit password lengths. So from my experience, the limits have less to do with technical reasons, and are instead arbitrary "business lo…
Why don't you just tell them that for technical reasons, the lowest you "can" limit it to is 12 characters?
Re: What technical reasons are there to have low maximum password lengths?
#53Earlier quoted context omitted.
That's why the client should perform the hash and only submit the result.
No; this is effectively the same as doing no hashing at all. If your database gets stolen, people can replay the "hashed" passwords from it to the server, without having to hash them themselves.
hash(saltFromServer + hash(password))
And then the server would do hash(user.salt + clientHash)
I'm not sure, but this seems reasonable to me.Re: What technical reasons are there to have low maximum password lengths?
#54The simple answer is just to hash+salt and then to limit the input length to some large value to prevent blowing HTTP POST or process vm limits.
Re: What technical reasons are there to have low maximum password lengths?
#55There's one reason I haven't seen mentioned yet: Because the developer is storing passwords in plaintext, and he wants to save database space. Now, this is not a good reason, but it is a reason nevertheless. Please note that you should never, ever, ever, ever store passwords in plaintext.
Even if saving database space is a concern, you could store a truncated password hash.
Re: What technical reasons are there to have low maximum password lengths?
#56Earlier quoted context omitted.
Some developers love that kind of micro optimizations. Even smart ones. I've had my varchar(256) columns changed to a more modest varchar(30) because I was "wasting space." Those people dont like being wrong either so there's no point arguing it either and instead concentrate on the bigger issues.
I've seen that, but once the internal format is actually explained, varchar(256) generally survives. For those who don't know, for varchar(1) through varchar(256) the internal database representation in sensible databases is one byte to say how long the varchar is, followed by the actual data. There is therefore absolutely no difference between the representation of varchar(30) and varchar(256) - it is just an arbitr…
Is this true in most modern DBs? (I'm thinking MySQL and Postgres particularly).
Re: What technical reasons are there to have low maximum password lengths?
#57Earlier quoted context omitted.
Some developers love that kind of micro optimizations. Even smart ones. I've had my varchar(256) columns changed to a more modest varchar(30) because I was "wasting space." Those people dont like being wrong either so there's no point arguing it either and instead concentrate on the bigger issues.
I've seen that, but once the internal format is actually explained, varchar(256) generally survives. For those who don't know, for varchar(1) through varchar(256) the internal database representation in sensible databases is one byte to say how long the varchar is, followed by the actual data. There is therefore absolutely no difference between the representation of varchar(30) and varchar(256) - it is just an arbitr…
Re: What technical reasons are there to have low maximum password lengths?
#58Remember that until the early-mid 90s, file names were limited to 8 characters. Lots and lots of enterprise financial software was written in those days, and a lot of it still runs. We're talking about tremendously complicated systems that support trillions of dollars in transactions a day. You don't change level of interleaving complication fast nor easily. With that said, the rest is just my own guess. Banks are sl…
90s though? I think you need to go further back a couple of decades. Royal Bank of Scotland still has COBOL/IMS powering their core system [0].
[0] http://ovum.com/2012/06/27/rbss-core-system-meltdown-assessi...
Re: What technical reasons are there to have low maximum password lengths?
#59My bank limits my password to 8. When I questioned while creating my account, they asked me to visit the login page - in the login page you are asked for the answer of the security question and also presented with 8 input boxes - one for each of of the password characters - but having to enter only randomly selected few from the password ( for preventing key loggers from getting password, of course ). This seemed lik…
May I ask what bank you bank with?
Re: What technical reasons are there to have low maximum password lengths?
#60It's amazing how all the comments so far have entirely missed that it's the top answer that was really submitted, not the question.