DEV Community

Discussion on: How to Process Passwords as a Software Developer

Collapse
 
dpkahuja profile image
Deepak Ahuja 👨‍💻

Great article! I liked the Reasonable Policy part but didn’t quite got why special characters are not enforced.

For other readers extended reading (curious or otherwise): i wrote an explanation of salt and peppers (Web Authentication Universal Prinicpals) for software developers. I cover the coding angle of it with in depth illustrations and example.

dev.to/dpkahuja/learn-and-build-we...

Collapse
 
nathilia_pierce profile image
Nathilia Pierce

Thank you!

If you enforce that character set, you run the risk of them writing it down, forgetting it, annoying them, or choosing a weak password. You can also cause users to write down their passwords if you enforce password changes.

I don't know how many times I've been annoyed dealing with that. It should stop at the length requirements, checking for known passwords, and passwords as identifiers.

Simply put, it can have a bad impact on UX, often gaining no benefit, or doing the opposite.

Beyond a minimum and maximum length, password rules are pretty terrible, despite what the math may say about a brute-force attack for those short complex passwords. History should tell you those short complex passwords are not good.

Collapse
 
italypaleale profile image
Alessandro (Ale) Segala

I'd also like to point out that the NIST too recognizes that password complexity requirements are not a good thing: pages.nist.gov/800-63-FAQ/#q-b10

Collapse
 
cullylarson profile image
Cully Larson

What do you think about comparing the password to a list of X most common passwords and not allowing it?

Thread Thread
 
nathilia_pierce profile image
Nathilia Pierce

I think it's a good idea, as I suggested in the article.

Decline known passwords via HIBP API.

Collapse
 
dpkahuja profile image
Deepak Ahuja 👨‍💻

Yes. And one more thing in UX i have seen, they tell you after your first password creation attempt what is expected from it. Quite a bummer