2010-07-22 5 views
0

, пожалуйста, не возражаете, я спрашиваю об этом, но я новичок в php, и мне нужно зашифровать и расшифровать пароль. Я хочу отправить пароль по URL-адресу, поэтому я слышал, что это самый безопасный способ использования mycrypt.PHP: ключ-ключ?

Я не получаю вещь с KEY в функции mycrypt? Не должно быть столь же секретным, как и сам пароль. например Я использую эту функцию из руководства PHP:

<?php 
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
    $key = "this is my personal decryption key"; 
    $text = "Meet me at 11 o'clock behind the monument."; 
    echo strlen($text) . "\n"; 

    $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv); 
    echo strlen($crypttext) . "\n"; 
    ?> 

Могу ли я установить ключ $ на все, что я хочу? что, если кто-то загрузит источник моего документа, где я установил этот ключ $. он может легко расшифровать текст снова. не так ли? Или я могу сделать что-то неправильно с этой функцией?

ответ

1

Возможно, было бы проще и безопаснее использовать TLS (HTTPS). Это может использовать те же технологии (например, AES/Rijndael), но обрабатывает многие детали, включая распределение ключей, для вас. Если вы используете mcrypt, вам нужно выяснить безопасный способ обмена как ключом, так и IV (вектор инициализации).

Вам также необходимо защитить ключ и IV. Поэтому, если он встроен в ваш PHP-файл, вы должны позаботиться о том, чтобы защитить этот файл. Однако важно помнить о различии между сервером и клиентской стороной. Ключ не будет втекать в сгенерированный HTML-файл, если у вас нет ошибки в вашем скрипте.

+0

но я могу (легко) скачать .php-файл, сформировать сервер и просто просмотреть исходный код. Я читаю ключ и расшифровываю его. Мне нужен простой способ зашифровать пароль, повесить его на URL-адрес, прочитать его с помощью $ _get, затем расшифровать его и передать. ?? TLS (HTTPS) звучит сложно для меня. Я новичок в программировании. – matt

+0

Вы не можете напрямую загрузить активный исходный код PHP с сервера другого человека, если у него нет ошибки. HTTPS на самом деле не слишком сложный, поскольку веб-сервер выполняет большую часть работы для вас. На каком сервере вы работаете на принимающей стороне? –

+0

Я на сервере ZEUS. Я думал, что возможно сосать php-файлы с сервера с такими приложениями, как sitesucker или file2hd.com. – matt