Let's say that you are about to change your log in system and you have a few millions of users that you want to switch to the new system.
Specification Old System
- Username : email address
- Password Policy : None
- Email Verification : None
- Password Hashing : None
Specification New System
- Username : email address
- Password Policy : Yes
- Email Verification : Yes
- Password Hashing : Yes
I am of the opinion that the users should have to recreate their password and verify their email address but asking the users that have been client for many years to suddenly recreate an account, verify their email or change their password might be a bad user experience.
So, I'm asking both in term of security and user experience :
How would you migrate those old accounts?
Note : Since it's a system that involves money transaction I really don't think we should keep the old passwords that often look like "123", "abc", "password", etc.