Шифрование в нативном PHP и PERL - PullRequest
0 голосов
/ 15 декабря 2010

Я ищу способ вставить зашифрованные пароли в базу данных (MySQL), который я могу расшифровать позже.Я провел исследование и пришел к выводу, что bcrypt будет более безопасным способом хранения паролей, но потом я не могу их вернуть, и важно, чтобы я знал их пароли на случай, если мне нужно будет войти вих система (я не хочу полагаться на IP-аутентификацию).

http://php.net/manual/es/function.mcrypt-cbc.php имеет несколько хороших примеров использования библиотеки для шифрования как на PHP, так и на PERL, но PERL требует наличия дополнительной библиотеки иPHP должен быть определенной версии.

Я ищу решение, которое может работать на PERL и PHP (без дополнительных библиотек) с версиями, выпущенными не ранее года назад.Никаких функций PHP 5.3 или чего-либо подобного.

В системе всего 100 или около того пользователей, поэтому нет огромного риска того, что кто-то даже получит доступ к базе данных, но просто если я хочу что-то вродезащита.Если понадобится, я бы согласился с необходимостью добавить библиотеку в PERL, но я не могу быть разборчивым с библиотекой PHP или требовать версию PHP выше 5.0

.

Ответы [ 3 ]

1 голос
/ 15 декабря 2010

Если вы используете MySQL, возможно, вы захотите изучить такие функции mysql, как AES_ENCRYPT / AES_DECRYPT:

http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html

1 голос
/ 15 декабря 2010

Использование стандартной функции хеширования (например, одной из версий sha ) означает, что вы не можете вернуть пароль, но не означает, что вы не можете войтив их систему.

Просто обновите хэш пароля в базе данных известным (например, update user set password = sha1('password') и т. д.), войдите в систему, затем обновите пароль до старого хэша.Вы находитесь, и их пароль вернулся к тому, что был.

Если вы шифруете и дешифруете, то ключи должны быть на сервере;если вы взломаны, злоумышленник также получит доступ к ключам, так что вы можете также оставить незашифрованные пароли, если не собираетесь их хешировать.

0 голосов
/ 15 декабря 2010

Просто хешируйте пароли, используя SHA256 или SHA512 .Этого должно быть достаточно.Теперь вы сказали, что хотите знать их пароли, чтобы вы могли войти в их аккаунт.Вы, как администратор, должны иметь возможность войти в систему как пользователь , не зная своих паролей.

Если вам нужно войти в систему как пользователь, то, я полагаю, вам нужно что-то изменить?Что ж, администратор должен иметь возможность изменять данные пользователей без необходимости входа в систему как они ...

Так что я могу только сказать, исправить вашу систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...