запутать или зашифровать некоторые текстовые данные в PHP
Мне нужно запутать или зашифровать некоторые текстовые данные в моем приложении php 5.2.
Я бы предпочел решение, в котором входная строка и выходная строка сохраняли бы одинаковую длину.
Это не должно быть чрезвычайно сильным, поскольку существует множество других уровней безопасности. Сильное было бы хорошо, но это только удержит программистов / dba / support людей / и т.д. от случайного чтения текста из базы данных.
ключевые соображения
EDIT ADD I'd prefer a solution that would have input string and output string retain the same length. only string text will be obfuscated/encrypted for storage in a database the php application will need to obfuscate/encrypt the data before the database save and will need to un-obfuscate/dencrypt following the database read this is a modification to an existing application only some columns will need to be obfuscated/encrypted only some rows will need to be obfuscated/encrypted, based on a Type field there are only a few load/save points to handle max column size is already determined for some fields, but not for others, but I'd prefer a solution to work within the existing size of the restricted fields EDIT, ADD the key will be probably be a composite of some Primary key info +uneditable fieldsВот пример таблицы базы данных и данных:
<code>int char(1) varchar(24) int date MyPrimaryKey RowType UserText UserNo DateChange ------------ ------- ------------------------ -------- ---------------- 1 N nothing special here 43 6/20/2009 12:11am 2 N same thing, wow! 78 6/23/2009 1:03pm 3 S fBJKg}.jkjWfF78dlg@45kjg 43 6/25/2009 6:45am 4 N same old, same old text 21 6/25/2009 8:11am </code>
Приложение будет загружать и отображать строки 1, 2 и 4 нормально. Однако он будет условно (в зависимости от типа строки) обрабатывать текст в строке 3, используя эту логику запутывания / шифрования и не-запутывания / дешифрования.
Кто-нибудь может предоставить обфусцировать / зашифровать и не обфусцировать / расшифровать код функций, ссылки и / или указатель, которые могли бы помочь здесь?
Спасибо!
EDIT
Мне нравится простая идея кодирования base64, но есть ли метод, который может держать данные в пределах фиксированного размера. Все перечисленные методы имеют выходное значение больше, чем входное значение. Это будет проблемой для некоторых столбцов, где пользователь может ввести 50 символов, и он будет сохранен в столбце varchar (50).