Шифрование mcrypt в файл + расшифровка.

Тема в разделе "PHP", создана пользователем mrdigy, 1 авг 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. mrdigy

    mrdigy

    Регистр.:
    29 дек 2007
    Сообщения:
    166
    Симпатии:
    21
    Уважаемые форумчане, подскажита как сделать обычное шифрование и записать его в файл, затем считать из файла и расшифровать.
    Шифрование Html сраницы.

    Вот проиерчик который я нашёл, но он не пашет, не могу врубиться.

    <?php

    $key = "My cool key"; // просто текст
    $data = "My secret data"; // инфа для шифрования
    $alg = MCRYPT_BLOWFISH;
    $mode = MCRYPT_MODE_CBC;
    $iv = mcrypt_create_iv (mcrypt_get_iv_size ($alg, $mode),MCRYPT_DEV_URANDOM);
    $encrypted_data = mcrypt_encrypt ($alg, $key, $data, $mode, $iv);
    $plain_text = base64_encode ($encrypted_data);


    $filewrite = fopen ("file.txt","w");
    fwrite ($filewrite, $plain_text);
    fclose ($filewrite);


    print $plain_text."\n";echo "<br />";
    echo "<br />";


    echo "читаем из файла";
    echo "<br />";
    $filewrite2 = fopen ("file.txt","r");
    print $filewrite2;
    $text = $filewrite2;
    $text = base64_decode($text);
    $decoded = mcrypt_decrypt ($alg, $key, $text, $mode, $iv);
    print $decoded."\n";


    fclose ($filewrite2);


    ?>


    Буду рад дискуссий и помоши по этому вопросу.
     
  2. X-Ception

    X-Ception Прохожие

    с шифрованием и дешифрованием в данном примере все ок, а не работает он потому что автор видимо забыл прочитать данные из файла, строка:
    $text = $filewrite2; неверна, в $text нужно просто прочитать содержимое файла:
    PHP:
    $text fread($filewrite2filesize("file.txt"));
    и после чего все успешно дешифруется.
     
  3. mrdigy

    mrdigy

    Регистр.:
    29 дек 2007
    Сообщения:
    166
    Симпатии:
    21
    Очень помогло, только я не понял что вылезло:
    Resource id #4
    Это что ?
     
  4. X-Ception

    X-Ception Прохожие

    Это результат работы предыдущей строки:
    PHP:
    print $filewrite2;
    можно смело удалить, смысла это выводить абсолютно нет
     
Статус темы:
Закрыта.