Я хочу хранить данные профиля в зашифрованном виде в базе данных. Однако некоторые детали должны быть уникальными, и, поскольку алгоритм шифрования рандомизирует начальное число для каждого шифрования, исчерпывающим является определение того, хранится ли значение в базе данных.
- Я мог бы пройтись по каждой строке и расшифровать необходимый столбец, но это заняло бы слишком много времени, если количество строк велико.
- Я мог бы хранить хэши этих (незашифрованных) деталей , но это в первую очередь убило бы точку шифрования .
Итак, как мне сравнить зашифрованную строку (со случайным начальным числом) с другими, сохраненными в базе данных?
Любая помощь высоко ценится. Шифрование выполняется с помощью php (MCRYPT_RIJNDAEL_256
/ NOFB
), база данных - MySQL.
Редактирование / решение: Хранение данных, хэшированных в дополнение к зашифрованному значению, кажется моим лучшим решением. Это делает проверку уникальных столбцов достаточно легкой для меня. Спасибо всем, кто оставил свои комментарии / ответы.