Я хотел бы хранить пароли пользователей в зашифрованном виде в базе данных. Мне нужно использовать двунаправленное симметричное шифрование, например. AES (использование хэша в этом особом случае недопустимо).
Часть 1
Существует ли значительный повышенный риск при использовании строки, которую мне нужно зашифровать, в качестве ключа? Общедоступная (та же строка) соль добавляется к ключу, если это имеет значение.
Часть 2
Тот же вопрос, но применительно к следующему сценарию:
- A зашифрован с помощью B в качестве ключа (включая соль) и
- B зашифрован с помощью A в качестве ключа (включая соль).
Оба зашифрованных значения хранятся в одной и той же строке базы данных.