2010-04-04 3 views
0

Что такое безопасный метод шифрования/дешифрования PHP, используемый с MySQL - для хранения, скажем, паролей?Безопасный метод шифрования LAMP

Конечно, не для портала - хеширование - самый безопасный вариант.

Я хочу сделать небольшой пароль (домен/mysql/ftp ...) для всей нашей команды онлайн, чтобы мы могли войти и проверить пароли, но я не хочу, чтобы на самом деле угрожать нашим клиентам, bussinesses. Хейш нельзя использовать по понятным причинам - нам нужно вернуть пароли в удобочитаемой форме, после входа в систему - (на самом деле не имеет смысла запускать таблицы радуги каждый раз: D).

Любая идея?

Редактировать: до сих пор существовал только уровень mysql AES. Считаете ли вы, что все будет лучше/безопаснее или у вас есть опыт работы с сторонним открытым исходным кодом?

ответ

2

Если вы хотите зашифровать и расшифровать, то вы можете рассмотреть встроенные в шифрования AES в MySQL. Это позволяет использовать соль (даже случайную соль для каждого элемента), а затем хранить зашифрованные данные в виде двоичного блока. Затем вы можете получить соль или использовать сохраненную и дешифровать данные.

Там хороший учебник по AES/дешифрования использование шифрования здесь: http://techpad.co.uk/content.php?sid=82

+0

Спасибо (и за это руководство тоже) –

0

Я бы сказал, что MD5 - хороший выбор, так как вы можете использовать MD5() на уровне MySQL. Затем снова вы сохраните свои пароли в базе данных.

< base64 MD5 < SHA1

+0

простой? ни за что. md5 уже почти то же самое. Кроме того, я ищу шифрование (с последующим decription), а не хеширование. –

0

@Adam, я должен согласиться, что безопасный способ заключается в использовании MySQL AES крипту и сохранить ключ в PHP. Таким образом, если хакер каким-то образом получит БД, он не сможет открыть без ключа в PHP.

Вы можете играть с ключом (напр, крипт PHP кода/играет с Eval()), поэтому хакер будет смущен, если он получит DB & PHP код вместе ...

0

Самым безопасным является метод, который вам будет создавать самостоятельно. Попробуйте объединить многие из легко разбить шифрование в случайном порядке, и вы получите то, что действительно трудно сломать. Sub-шифрование + обратная + рандомизация сделает что-то, что действительно сложно сломать, если вы не знаете, что именно происходит и в каком порядке.

Смежные вопросы