this post was submitted on 30 Sep 2023
138 points (72.4% liked)
Programming
17313 readers
388 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Yep. That's how security works. You have to nitpick the specifics.
The reality is nobody has invented a perfectly secure authentication system that is easy to use (for example, allows easy recovery when people forget their password which for any large service will be tens of millions of times per day).
Attempts have been made - passkeys being the latest one - but they're not even remotely easy to use as soon as you step slightly out of the most common path (such as using the web browser that is provided by the company you're logged in with... try to use Chrome with an Apple passkey, or Safari with a Google passkey, and you're going to stumble into usability issues).
Passwords are not considered secure wether they're sent in a plaintext email or not. They can be secure, if used properly, but 99% of users don't follow best practices. As a result almost every web service in the world is insecure and it's the nitpicky details that matter.
Sending a secret to an email address is a standard step during registration for almost any service.
But the thing is that you should never have access to the plaintext password and thus you should never be able to receive it in an email. You should store the salted hash of the password instead of the password itself.
These kind of forums don't store the plaintext password, they send an email while in memory, and hash them afterwards. Still bad security, but it's not storing it in plaintext.
But your password should never reach the server. It should be hashed already at the client and then salted at the server with a random hash. Then you store the salted hash