When users are choosing a password for my application, what restrictions should I apply, if any, and what should I consider to be an invalid password?
For example, I have read about trimming off whitespace, restricting only to ASCII characters, etc, but these seem to be opinions or application dependant.
I am aware of forcing requirements on passwords such as a minimum of two symbols, two numbers, etc. but I am more interested in what restrictions I should apply.
I don’t think anything should be an invalid password. If you can hash it to store it and later compare against, you should be able to use it as your password. Restricting the strength of passwords does nothing useful.