У меня есть служба, которая позволяет пользователям хранить информацию (такую как сообщения, видео и т. Д.) Для своей расширенной семьи в сети, чтобы обмениваться ими, когда они умирают. Экс - Отправь это видео моему племяннику, когда я прохожу путь, говоря ему, что я люблю его.
У меня есть структурированная база данных JSON, в которой в качестве идентификатора их профиля хранится номер социального страхования пользователей.
$salted_hashed_ssn: {
//important information for extended family such as vidoes and email addresses
}
Когда пользователь умирает, его ближайшие родственники заходят на мой сайт и вводят номер социального страхования умершего. Затем я хеширую их и проверяю соответствие в моей базе данных. Если найдено совпадение, мы запускаем функции, чтобы поделиться важной информацией для расширенного семейства.
Готовясь к худшему, я хочу хранить номера социального страхования максимально надежно. Поскольку мне нужно только использовать номера социального страхования в качестве идентификатора, мне не нужно хранить значения ssn для простого / простого текста. Поэтому я могу хэшировать ssns, но мне нужно посолить их, чтобы защитить от поиска таблиц. Моя проблема в том, что когда пользователи вводят номер социального страхования умершего пользователя, у меня нет возможности узнать, какой солт-ключ был использован.
Чтобы сделать это случайным и предотвратить просмотр таблиц, как бы вы посоветовали мне подсчитать мои номера социального страхования? Должен ли я просто взять х количество символов каждый раз? Т.е. всегда захватывать первые 4 символа номера социального страхования, хешировать их и их до полного номера SSN, а затем перефразировать?
let salted_hashed_ssn = SHA256 (первые 4 символа SSN) + SHA256 (SSN)?
Как бы вы порекомендовали настроить соль и хэш?