2017-02-22 30 views
1

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

Когда я запускаю этот код на своем веб-сайте, он сообщает мне, что страница не отвечает, значит, есть ошибка, однако я не могу определить ее или увидеть, где я ошибся.

<?php 

$key = md5('pass'); 

function encrypt($string, $key){ 
    $string = rtrim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $string, MCRYPT_MODE_ECB))); 
    return $string; 
} 

$output = encrypt("test", $key); 
echo $output; 

?> 
+0

Проверьте свои журналы ошибок и посмотрите, что представляет собой фактическое сообщение об ошибке, или включите 'dsiplay_errors' в вашем локальном файле php.ini при разработке. –

+0

Возможный дубликат [Как вы шифруете и расшифровываете строку PHP?] (Http://stackoverflow.com/questions/16600708/how-do-you-encrypt-and-decrypt-a-php-string) – miken32

+0

Im not знакомы с php.ini и загружаемся на FTP, когда работаю? – Tooble

ответ

2

Вы не должны использовать MD5 для шифрования, особенно для паролей.

Посмотрите на функции php's password_hash() и password_verify(). Они не только более безопасны, чем то, что вы делаете прямо сейчас, их проще использовать.

+1

Единственное, что я должен выбрать с этим ответом, это то, что MD5 не является шифрованием. – Sammitch

+0

Правильно, это не шифрование. Но OP спрашивает о шифровании по своему названию. Если бы они заявили, что они заинтересованы в том, чтобы быстро проверить контрольные суммы, тогда MD5 может быть более уместным, за исключением того, что он [ужасно ошибочен] (https://natmchugh.blogspot.co.at/2014/10/how- i-created-two-images-with-same-md5.html) на этом этапе. (с большим количеством других примеров). –