I would recommend that the Unicode input (supposedly UTF-8 or UTF-16), which you normalize before hashing and comparison, be accepted in the password field. If you do not normalize it, and people access it from different systems (different operating systems or different browsers, if it is a web application or with different locales), you can get the same password that is presented with a different normalization. This would mean that your user would enter the correct password, but rejected it, and it would not be wise, why not fix it.
source
share