По сути вопроса уже ответили.
Что касается предложенного алгоритма, тут много минусов. Главный — он больше привязан к компьютерной логике «ключ-значение» чем к человеческой. К тому же вам придется или генерировать поля по одинаковому алгоритму, (а это потенциальная дыра), или хранить большой объем уникальной статичной информации (которая имеет такие же шансы быть слитой, как и массивы хэшей пароля).