В общем, плохая практика - просто ограничивать пароли цифрами и буквами.Тем не менее, это помогает защитить код от «внедрения кода», когда хакер передает некоторые инструкции как часть пароля, чтобы получить доступ к системе.Пароль типа `Apple;" Delete * from users; "" может в конечном итоге нанести ущерб, если разработчик не позаботится о том, чтобы избежать пользовательского ввода.Другая проблема - использование специальных символов, которые могут вызвать конфликты в коде сайта.Или специальные символы, которые зависят от конкретного набора символов / кодировки, которые используются в базе данных.Буквы, такие как ë, è, ï, î и ì являются специальными символами, которые можно использовать, если это разрешено.Но иногда они переводятся неправильно.Другая проблема заключается в том, что некоторые люди, как правило, легко забывают свой пароль, который становится немного сложнее запомнить, если вам разрешено использовать специальные символы.Ограничивая пароль меньшим количеством комбинаций, вы также облегчаете запоминание паролей.К сожалению, это также облегчает их взлом ...И часто это просто политика, установленная руководством определенных компаний, которые просто не знают лучше.Ограничение может быть просто решением руководства, без логического объяснения, кроме того, что руководство хотело бы хранить пароли таким образом ...