我有以下代码:
/* CRYPTING PARAMETERS */
$method = "AES-256-CBC";
$kpart1 = "IsdI685cUY";
$ipart1 = "RkEgfA";
$statement = "SELECT `crypt_key`, `iv` FROM `tab_sec`;";
$result = $conn->query($statement);
$row1 = $result->fetch(PDO::FETCH_ASSOC);
$kpart2 = $row1["crypt_key"];
$ipart2 = $row1["iv"];
$key = $kpart1 . $kpart2;
$iv = $ipart1 . $ipart2;
$statement = "SELECT * FROM `tab_employees` WHERE `id` = '$q';";
$sth = $conn->query($statement);
$row = $sth->fetch(PDO::FETCH_ASSOC);
$number = openssl_decrypt($row["number"], $method, $key, $options=0, $iv);
我解密了SQL数据库中的加密数据。如果我解密数据,则操作返回FALSE。 $key
和$iv
参数是正确的。我得到正确的价值观。如果我加密数据并将它们存储在SQL中,我也使用相同的参数,所以我不知道问题出在哪里。