Является ли пробел действительным компонентом пароля или нет? Я пытаюсь сохранить последние 10 паролей в одной строке в базе данных, и мне нужно найти хороший разделитель для них. Я думаю, что космос может быть хорошим кандидатом. Как вы думаете?
3 ответа
Это зависит от вашей политики паролей. Я знаю довольно много сайтов / систем, где пробел является допустимым символом для пароля. Чтобы быть в безопасности, вы можете проверить пробелы в пароле и избежать их.
Да, и в качестве краткого обновления: Попробуйте восстановить дизайн базы данных. Поскольку у вас есть отношение 1: n, вы должны сохранять каждый пароль отдельно и подключать каждую запись к соответствующему пользователю.
Пробелы обычно действительны. Я бы с осторожностью относился к любому разделителю, так как это форма безопасности через неясность, когда кто-то не взломает ее или случайно наткнется на нее в будущем, и вам придется выяснить ошибку.
Я бы использовал отдельную запись для каждого.
Вы не упоминаете, что это за приложение ... если вы создаете приложение, вы можете попробовать что-то предпринять, чтобы применить свою собственную политику, которая очистит и очистит запись, или вы более разумно хешируете пароль (вы обычно Я не хочу, чтобы реальные пароли были сохранены), и в хэше не будет пароля. Тогда, я полагаю, вы можете использовать любой разделитель, какой захотите, если он не является частью пространства имен хеш-символов.
Вы не можете полагаться на пробел, так как он является действительным символом пароля в большинстве систем, особенно теперь, когда парольные фразы являются новыми паролями.
В зависимости от того, что / как вы делаете, вы можете использовать символ с ASCII 0x00, другой символ, обычно не встречающийся на клавиатуре, или как насчет юникода?
Лично я бы не пытался объединить их в одну строку, я бы, вероятно, сохранил запись для каждого пароля.