this post was submitted on 09 Sep 2024
595 points (99.5% liked)

Programmer Humor

19564 readers
1005 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 

Edit: @Successful_[email protected] solved it. It says "one special character". Not "at least one".

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 12 points 2 months ago (9 children)

Once upon a time, battle.net passwords weren't case sensitive. I used upper and lower case letters in my password then one day realized I didn't hit shift for one of the caps as I hit enter out of habit, but then it still let me in instead of asking for the password again.

It was disappointing because it takes more work to remove case-sensitivity than to leave it. I can't think of any good reason to remove it. At least the character limit had a technical reason behind it: having a set size for fields means your database can be more efficient. Better to use the size of a hash and not store the password in plaintext, so it's not a good reason, but at least it's a reason.

[–] [email protected] 7 points 2 months ago (5 children)

At least the character limit had a technical reason behind it: having a set size for fields means your database can be more efficient.

If that is the actual technical reason behind it, that is a huge red flag. When you hash a password, the hash is a fixed size. The size of the original password does not matter, because it should not be stored anyway.

[–] [email protected] 3 points 2 months ago (4 children)

Correct, hence the sentence after the one you quoted :)

If any service can recover your password and send it back to you rather than just resetting it for you to set a new one, don't rely on that service for anything you want to keep secure. And certainly don't reuse a password there, though you shouldn't be reusing passwords anyways because who knows what they are and aren't storing, even if they don't offer password recovery.

[–] [email protected] 3 points 2 months ago (1 children)

Sorry, didn't want this to look like an attack or disagreement. Just wanted to highlight that point, because arbitrary maximum sizes for passwords are a pet peeve of mine.

[–] [email protected] 3 points 2 months ago (1 children)

Yeah no worries and agreed. I hate seeing commercial sites using worse password sanitization practices than I used for my first development website that wasn't even really intended for anyone else to log in to and any max length suggests the password is either stored or processed in plaintext.

IMO it should even be hashed on the client side before being sent so that it doesn't show up as plaintext in any http requests or logs. Then salted and hashed again server side before being stored (or checked for login).

[–] [email protected] 2 points 2 months ago (1 children)

IMO it should even be hashed on the client side before being sent so that it doesn’t show up as plaintext in any http requests or logs. Then salted and hashed again server side before being stored (or checked for login).

But if someone got that hashed version they could hack the client to have client side hashing code just send that hashed value to the server. You'd want to have the server to send a rotating token of some sort to use for encrypting the password on the client and then validate it on the server side that it was encrypted with the same token the server sent.

Seems complicated to me... https is probably has good enough encryption, so eh, whatever.

[–] [email protected] 1 points 2 months ago

Yeah, if they are able to intercept traffic or access the logs, they probably already have other access to the account without needing the password. If you don't reuse passwords, then your other accounts will be safe from that.

load more comments (2 replies)
load more comments (2 replies)
load more comments (5 replies)