2013-05-22 6 views
2

Простой вопрос. Как хранить телефонные номера и адреса электронной почты в базе данных? Просто чистый текст (или цифры), например [email protected], или лучше его кодировать с помощью ключа (немного похоже на то, как пароли сохраняются в базах данных). В этом случае он становится нечитаемым (и намного дольше), если вы не знаете ключ.Хранилище базы данных: чистое или закодированное?

Единственная причина в том, что если кто-то взломает databsae, и предположим, что в базе данных много важных электронных писем и номеров телефонов.

Как, например, linkedIn и facebook содержат все эти данные?

+0

+1 для рассмотрения вопроса о сохранении конфиденциальных данных. – Raptor

ответ

0

Номера телефонов являются полуисторическими идентификаторами. Они не являются числовыми количествами. Они могут быть цифрами, а в некоторых случаях и буквенно-цифровыми, e g. 1- (800) -flowers.

Сохраните номера телефонов в виде текста, которые вы не хотите добавлять, вычитать, умножать или разделить. Вы можете нормализовать числа в код графства, а также код и номер региона, если есть необходимость поиска по стране или региону. Альтернативой является предоставление функций для доступа к текстовой строке номера телефона и получения кода округа и кода области.

Еще один важный аспект: вы сохраняете коды формата (parens, пробел или тире) для цифр '(123) 456-7890', или вы снимаете их и сохраняете только цифры. Если вы хотите иметь полу-уникальность или быть в состоянии искать равенство, просто сохраните цифры. Некоторые цифры специальные коды, такие как '* 82', хотят также их использовать как число?

Я хочу получить информацию из номера телефона, тогда вы должны основывать структуру номера на текстовых полях на основе Североамериканского плана нумерации https://en.wikipedia.org/wiki/North_American_Numbering_Plan.

Смежные вопросы