Шифрование Querystring и дешифрование в PHP - PullRequest
2 голосов
/ 16 декабря 2009

У меня есть следующий Класс шифрования в php

define(ENCRYPTION_KEY,"abcdegef");
define(INITIALIZATION_VECTOR,mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_DES, MCRYPT_MODE_ECB), MCRYPT_RAND));

function EncryptString($input)
{
    $encrypted_string = mcrypt_encrypt(MCRYPT_DES, ENCRYPTION_KEY, $input, MCRYPT_MODE_CBC, INITIALIZATION_VECTOR);
    return base64_encode($encrypted_string);
}

function DecryptString($encryptedInput)
{
    $decrypted_string = mcrypt_decrypt(MCRYPT_DES, ENCRYPTION_KEY, base64_decode($encryptInput), MCRYPT_MODE_CBC, INITIALIZATION_VECTOR);
    return $decrypted_string;
}  

И URL на теге привязки с строкой запроса, которую я шифрую

<a href="SomePage.php?action=<?php include_once ('EncryptionLibrary.php');
echo EncryptString("IamData"); ?>

Когда я пытаюсь расшифровать его на SomePage.php, используя следующий код ... Я получаю расшифрованное значение неправильно

if (isset($_GET["action"]))
{
        echo trim(DecryptString($_GET["action"]));
}

1 Ответ

2 голосов
/ 16 декабря 2009

Значение INITIALIZATION_VECTOR каждый раз отличается. Для режимов, в которых используется IV, вам нужен такой же для шифрования и дешифрования.

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