次の関数を使用して暗号化と復号化を行っています
define('KEYVAL',"hgfzhjh");
function encryption($plain_text)
{
$key_value = KEYVAL;
$encrypted_text = mcrypt_ecb(MCRYPT_DES, $key_value, $plain_text, MCRYPT_ENCRYPT);
return $encrypted_text;
}
function decryption($encrypted_text)
{
$key_value = KEYVAL;
$decrypted_text = mcrypt_ecb(MCRYPT_DES, $key_value, $encrypted_text, MCRYPT_DECRYPT);
return $decrypted_text;
}
echo $id = 'abc';
echo "<br />";
$enc = encryption('abc');
echo $dec = decryption($enc);
echo "<br />";
echo $dec;
echo "<br />";
echo strcmp($id,$dec);
$enc
とのエコー$dec
は同じですが、 の結果strcmp
は -5 です。どうして..?
復号化された結果を使用してデータベースからデータを取得していますが、両方の文字列が同じではないため、データを取得できません。使い方が間違っていたら教えてください..