Я бы порекомендовал, чтобы, если ваше поле пароля принимает ввод Unicode (предположительно UTF-8 или UTF-16), вы нормализовали его перед хэшированием и сравнением.Если вы не нормализуете его, и люди обращаются к нему из разных систем (разных операционных систем или разных браузеров, если это веб-приложение, или из разных локалей), то вы можете получить один и тот же пароль, представленный в другой нормализации.Это будет означать, что ваш пользователь введет правильный пароль, но отклонит его, и не будет понятно почему, и у него не будет никакого способа его исправить.