Я предполагаю, что вы говорите об идентификаторе устройства, который Apple называет "UDID".
Использование UDID для этой цели не кажется мне хорошей идеей. Исходя из ваших целей, нет никакой разницы между UDID и любой другой 40-значной шестнадцатеричной строкой. Тем не менее, с точки зрения пользователя, это неизменяемая строка, которая не является закрытой и используется в качестве замены для имени пользователя и пароля. Поскольку любое приложение может обнаружить UDID, а UDID предоставляется разработчикам и другим лицам свободно, безопасность всей вашей системы будет зависеть только от неясности вашего алгоритма хеширования.
может нормально использовать UDID в качестве замены для имени пользователя , если , вам требуется, чтобы пользователь вводил пароль в начале каждого сеанса, поскольку был бы хотя бы частным, изменяемым компонентом комбинации входа в систему.
Я не вижу реального преимущества в использовании UDID по сравнению со случайной 40-значной шестнадцатеричной строкой, которую вы генерируете в своем приложении. С другой стороны, преимущества создания собственной строки заключаются в том, что никакое другое приложение не может легко обнаружить вашу строку, и пользователь может (если вы позволите им) изменить строку по своему желанию.
Примечание: я не эксперт по безопасности, и я не хочу создавать впечатление, что я есть. Однако, как пользователь, я бы нервничал по поводу использования приложения, которое использует идентификатор устройства, как вы описываете.