silverstripe-framework: RFC: Deprecate and warn against using bad PasswordEncyptors
Affected Version
4.3.x / 5.0
Description
Currently we have several terrible options for password hashing:
- MySQLOldPassword
- MySQLPassword
- None
- PhpHash
- PhpLegacyHash
The MySQL “old” option is awful, and can be reversed with ~50 lines of C code, and the “new” version doesn’t seem to hold up to much scrutiny either.
I have no idea why we offer a “none” option. We should never encourage this.
PHPHash (and the extension LegacyHash) uses PHPs hash function. This is not suitable to password hashing purposes - these hashes are designed for efficiency - the opposite of what you want for passwords.
All of those are insufficient methods for hashing passwords.
Proposal
We mark all these "encryptor"s (hashers) as deprecated and show a warning (in dev mode? Only while logged in as admin?) if they are being used.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 2
- Comments: 15 (15 by maintainers)
Ugh, I still have, somewhere on my backlog, the “Make default admin hashed as well” feature…
I can have a look at it over the weekend, but on my account, feel free to close 😃