this post was submitted on 30 May 2025
106 points (98.2% liked)

privacy

4266 readers
137 users here now

Big tech and governments are monitoring and recording your eating activities. c/Privacy provides tips and tricks to protect your privacy against global surveillance.

Partners:

founded 3 years ago
MODERATORS
 

It's infuriating to create a "strong password" with letters, numbers, upper and lowercase, symbols, and non-repeating text... but it has to be only 8 to 16 characters long.

That's not a "strong" password, random characters or not.

Is there a limitation that somehow prevents these sites from allowing more than 16 characters?

I'm talking government websites, not just forums. It seems crazy to me.

top 50 comments
sorted by: hot top controversial new old
[–] phoenixz@lemmy.ca 11 points 18 hours ago

Irá usually bad backend design, bad frontend design, all made by people who are only vaguely aware of security, and how it works.

It's the same bunch that brought us "change your password every two weeks" and other insane anti security designs. They make it worse without even realizing it.

Do hope that your passwords aren't stored in plain text!

[–] Retro_unlimited@lemmy.world 18 points 21 hours ago (1 children)

I had the opposite issue… how the heck do I need a username over 1000 characters? lol

[–] hightrix@lemmy.world 16 points 21 hours ago (1 children)

Because the requirement was to allow user names, the dev asked what the limit should be, the PM said, “I don’t care, make it 1000”, and so the dev did it.

Source: I’ve been working in software far too fucking long.

[–] Showroom7561@lemmy.ca 3 points 16 hours ago

That's some malicious compliance right there! 😂

[–] Creat@discuss.tchncs.de 66 points 1 day ago (3 children)

It's a massive red flag. It implies that they are actually storing the password instead of a (preferably salted) hash and that they have no idea what good security practices are. Storing a hash leads to same size strings, no matter the length on the password.

[–] jagged_circle@feddit.nl 3 points 20 hours ago (1 children)

They shouldn't be using salted hashes since a decade or more. Best is to use a memory hard password hash function like argon

[–] brisk@aussie.zone 1 points 5 hours ago (1 children)

Can you expand on this? My experience with Argon is looking up a Wikipedia page in response to this comment, but it looks like it uses a salt as an input?

[–] jagged_circle@feddit.nl 1 points 29 minutes ago* (last edited 29 minutes ago)

Its a password specific function. Its also memory hard.

As oposed to generation a salt and passing that with the password through sha256 or something, which is bad practice

And there's no reason a database can't store a very long hash as well. Storage is cheap for this kind of thing.

[–] sik0fewl@lemmy.ca 9 points 1 day ago (1 children)

That's why I only store and compare the first 8 characters.

[–] sugar_in_your_tea@sh.itjust.works 1 points 1 day ago (1 children)

Why not store the whole thing?

[–] sik0fewl@lemmy.ca 8 points 23 hours ago (1 children)

I'm joking of course, but the reason would be the database column is 8 characters.

If only there was a SQL command that could alter an existing table...

[–] Thorry84@feddit.nl 49 points 1 day ago (3 children)

There are valid reasons to limit password length. For example when a hashing function is used that requires a lot of processing power and the amount of power required to calculate the hash is related to the length. In that (very common) case, a denial of service attack vector is exposed. By simply spamming insane long passwords into a login form for example, the servers calculating the hash get easily overloaded. Even with rate limiting, only a small number of attacking nodes can be used to pull down a site.

So a maximum number of characters for a password is a valid thing to do. HOWEVER the maximum length for this purpose is usually set at something like 2048 or 4096 characters.

There is no excuse for a max password length of 16, that's just terrible.

[–] NotMyOldRedditName@lemmy.world 3 points 19 hours ago

You could put a timeout on the hash function so that it can't be abused that way, but then... why not just make a limit so it can't anyway.

[–] some_guy@lemmy.sdf.org 10 points 1 day ago (2 children)

Sixteen is the minimum where I work. We upped it at the end of last year. Fortunately, we also fixed our password policy to expire annually. It used to be every three months, which leads to recycling.

[–] jagged_circle@feddit.nl 8 points 20 hours ago (1 children)

NIST recommended to never have passwords expire since like 3 decades. You gotta get rid of that. It makes your org less secure.

Probably best to just fire whoever set that up. They're clueless

[–] filcuk@lemmy.zip 3 points 17 hours ago

These policies typically come from top management. They'd have to fire themselves.

[–] sugarfoot00@lemmy.ca 7 points 1 day ago (1 children)

There's always recycling. Or changing that final character from a 1 to a 2, etc. The human brain just cant handle the complexity otherwise.

[–] teft@lemmy.world 2 points 1 day ago (1 children)

Use a couple words instead of letters, you’ll find it easier to remember and not use repeats. Bicycle Uber Pancake 4* should be more secure than some random bunch of letters you’ll forget.

[–] sugar_in_your_tea@sh.itjust.works 4 points 1 day ago (1 children)

Just use a password manager. No need to remember anything besides your master password. That works for pretty much everything, except I guess computer logins.

[–] teft@lemmy.world 3 points 23 hours ago (1 children)

Well yes everyone should use a password manager but some people can't load a password manager onto their work computer and therefore are more likely to use non-random passwords. It's easier to remember a passphrase than a random password.

[–] sugar_in_your_tea@sh.itjust.works 2 points 21 hours ago (1 children)

Fortunately, we force everyone to use a password manager at my company. SSO all the things!

[–] Kazumara@discuss.tchncs.de 1 points 5 hours ago

We got SSO systems too, unfortunately, there are about 3 of them, lol. The old ADFS, the current Microsoft login (possibly cloud AD, not sure), and our own ID product that we offer to customers.

[–] Showroom7561@lemmy.ca 11 points 1 day ago (2 children)

There is no excuse for a max password length of 16, that’s just terrible.

I get your point above, and the reason I hate short passwords is that I use passphrases. They are not only easier to type in, but long passphrases of 4+ words (plus a few extra characters and a number) are considerably more secure than the "best" 16-character password made up of random characters.

Per your problem above, is this why some sites send you a 2FA code before asking for your password? To avoid that potential DOS attack?

load more comments (2 replies)
[–] wesker@lemmy.sdf.org 50 points 1 day ago (2 children)

It's informative. It informs you that you shouldn't use the site, if possible. Because it's also suggestive of poor security practices in general.

load more comments (2 replies)
[–] originalucifer@moist.catsweat.com 25 points 1 day ago (2 children)

ive mostly noticed this on old systems.. where the field length for password was decided by an intern 30 years ago.

load more comments (2 replies)
[–] who@feddit.org 14 points 1 day ago* (last edited 1 day ago) (1 children)

No, there is no valid reason to limit web passwords to lengths as short as 8 or 16 characters. If someone has built such a system with a technical limit that short, then what they have built is (from a security perspective) garbage.

Thankfully, NIST finally dropped their terrible password guidelines of the past in favor of sensible ones. Perhaps this will lead to fewer bad decisions being made in web development circles.

A few relevant sections:

https://pages.nist.gov/800-63-4/sp800-63b.html#usability-considerations-by-authenticator-type

https://pages.nist.gov/800-63-4/sp800-63b.html#length

https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver

Obligatory xkcd:

https://xkcd.com/936/

(To be clear, this comic's approach to passphrases is sound advice.)

[–] sugar_in_your_tea@sh.itjust.works 1 points 1 day ago (1 children)

Yeah, I usually limit passwords to 256 characters, because that's way longer than anyone needs and still short enough to not worry about overloading something.

[–] who@feddit.org 2 points 21 hours ago (3 children)

What are you worried about overloading?

Mostly DOS attacks with ridiculously large payloads.

[–] filcuk@lemmy.zip 1 points 17 hours ago (1 children)
[–] who@feddit.org 1 points 17 hours ago* (last edited 17 hours ago) (1 children)

Hashing takes up cpu time

Oh my goodness.

I am very skeptical of this reasoning. If hashing of 256-character passphrases, or even 2560-character passphrases, consumes enough CPU time to risk overloading your system, then I think your are in an infinitesimal niche worthy of a detailed write-up.

If you're worried about that load, just wait until you learn about key derivation functions.

[–] filcuk@lemmy.zip 2 points 6 hours ago

So you were questioning a password limit of 256 chars.
Let's say we do not impose a limit because we're not worried about anything. We now get hit by a botnet trying to create accounts or login in thousands at the same time.

Say we're using Argon2id. This is obviously subjective to hw and parameters, but let's say 8k characters take 5 seconds of (1) cpu time on your server.
Now multiply this by 1000 attempts a second, and all your hardware does is calculate hashes.

The input limit of Argon2 specifically is much, much higher than that at 2^32-1 bytes, at which point you might as well just take it offline yourself.

If hashing of 256-character passphrases, or even 2560-character passphrases

If we impose no limit, why would the attacker limit themselves to 2560 chars?

[–] jagged_circle@feddit.nl 1 points 20 hours ago

Probably so they don't get fired for implementing a DoS vector

[–] ICastFist@programming.dev 8 points 1 day ago

Probably running on code from before 2000.

[–] UnpopularCrow@lemmy.world 14 points 1 day ago (8 children)

It’s usually shoddy (or intended?) coding that only allows a 16 byte length for the password. One character equals one byte of memory so my guess is they only allocated 16 bytes of space for the password. The irony is NIST 2025 recommendations argue for AT LEAST 15 characters for passwords.

[–] tleb@lemmy.ca 20 points 1 day ago (1 children)

One character equals one byte of memory so my guess is they only allocated 16 bytes of space for the password.

This is true for storing text in general but passwords aren't supposed to be stored as text, they should be hashed. The size of the hash will depend on the hashing algorithm. In other words, if there's a database limitation for the size of a password, it probably means they're storing the password plaintext 💀

More likely than not it's just some poorly designed validation

load more comments (1 replies)
load more comments (7 replies)
[–] Subscript5676@lemmy.ca 6 points 1 day ago

There’s no good reason today and in the future, period.

There are “experts” who still claim these, but they are based on a very dated recommendation from at least 15 - 20 years ago at this point. To some, such non-sensical requirements (by the fact that we should be storing passwords as hashes today) have become doctrine, rather than any fact based in reality.

And some users have been conditioned into thinking that these are good security practices as well, because governments and banks still make use of them, and these are the very organizations that should be the best-in-class when it comes to security. Some of these users become CEOs or product designers with more say than their IT and security experts in the company. The rest is history from there.

load more comments
view more: next ›