php - MySQL 查询返回带有 AES_ENCRYPT 的空白字段

标签 php mysql aes encryption

我的查询字符串是$SQLstring = "SELECT name, address, city, state, zip, homephone, cellphone, position, shift, status, workedherebefore, previousemploymentdate, referred, empname, under18, friends, empname2, currentlyemployed, contactemployer, lawful, worktime, workweekends, dateavailable, desiredsalary, position1, from1, to1, duties1, company1, cophone1, startsalary, endsalary, reasonleaving1, supervisor1, contact1, position2, from2, to2, duties2, company2, cophone2, startsalary2, endsalary2, reasonleaving2, supervisor2, contact2, position3, from3, to3, duties3, company3, cophone3, startsalary3, endsalary3, reasonleaving3, supervisor3, contact3, comments, training, otherqual, documents, dltype, dlstate, expdate, yearsdriving, movingviolations, hsname, hscity, hsstate, hsdates, collegename, collegecity, collegestate, collegedates, othername, othercity, otherstate, otherdates, licenseorcert, refname1, refbusiness1, reftitle1, refaddress1, refphone1, refname2, refbusiness2, reftitle2, refaddress2, refphone2, refname3, refbusiness3, reftitle3, refaddress3, refphone3,felony, iffelony, fired, iffired, resident, explanation, signed, q1, q2, q3, q4, mq1, mq2, mq3, mq4, mq5, mq6, mq7, mq8, mq9, mq10, mq11, mq12, mq13, mq14, mq15, mq16, mq17, mq18, mq19, mq20, mq21, mq22, mq23, mq24, mq24b, mq25, mq25b, mq26, mq27a, mq27b, mq27c, mq28, mq29, mq30answer, disclosuresig, verify_name, other_names, dob, AES_DECRYPT(ssn,'$key') AS ssn FROM applications";

我查询结果,然后将它们返回到表中。除了 AES_DECRYPT 字段 (ssn) 之外,所有这些都有效。在数据库中,它似乎已被很好地加密,但查询中的该字段返回为空白。这是其余的代码,以防相关:

$key="88b871WZ3SntWK67rN3l2J1SvMqsOjyk";<br/> $QueryResult = @mysql_query($SQLstring, $conn) or die("Query Problem - " . mysql_error($conn) . " - Error Number - " . mysql_errno($conn));

<pre><code> $num_result = mysql_num_rows($QueryResult); echo "<table>"; for ($i = 0; $i < $num_result; $i++) { $row = mysql_fetch_array($QueryResult); echo "<tr>"; echo "<td>" . $row["name"] . "</td>"; echo "<td>" . $row["email"] . "</td>"; echo "<td>" . $row["address"] . "</td>"; echo "<td>" . $row["city"] . "</td>"; echo "<td>" . $row["state"] . "</td>"; echo "<td>" . $row["zip"] . "</td>"; echo "<td>" . $row["homephone"] . "</td>"; echo "<td>" . $row["cellphone"] . "</td>"; echo "<td>" . $row["position"] . "</td>"; echo "<td>" . $row["shift"] . "</td>"; echo "<td>" . $row["status"] . "</td>"; echo "<td>" . $row["workedherebefore"] . "</td>"; echo "<td>" . $row["previousemploymentdate"] . "</td>"; echo "<td>" . $row["referred"] . "</td>"; echo "<td>" . $row["empname"] . "</td>"; echo "<td>" . $row["under18"] . "</td>"; echo "<td>" . $row["friends"] . "</td>"; echo "<td>" . $row["empname2"] . "</td>"; echo "<td>" . $row["currentlyemployed"] . "</td>"; echo "<td>" . $row["contactemployer"] . "</td>"; echo "<td>" . $row["lawful"] . "</td>"; echo "<td>" . $row["worktime"] . "</td>"; echo "<td>" . $row["workweekends"] . "</td>"; echo "<td>" . $row["dateavailable"] . "</td>"; echo "<td>" . $row["desiredsalary"] . "</td>"; echo "<td>" . $row["position1"] . "</td>"; echo "<td>" . $row["from1"] . "</td>"; echo "<td>" . $row["to1"] . "</td>"; echo "<td>" . $row["duties1"] . "</td>"; echo "<td>" . $row["company1"] . "</td>"; echo "<td>" . $row["cophone1"] . "</td>"; echo "<td>" . $row["startsalary"] . "</td>"; echo "<td>" . $row["endsalary"] . "</td>"; echo "<td>" . $row["reasonleaving1"] . "</td>"; echo "<td>" . $row["supervisor1"] . "</td>"; echo "<td>" . $row["contact1"] . "</td>"; echo "<td>" . $row["position2"] . "</td>"; echo "<td>" . $row["from2"] . "</td>"; echo "<td>" . $row["to2"] . "</td>"; echo "<td>" . $row["duties2"] . "</td>"; echo "<td>" . $row["company2"] . "</td>"; echo "<td>" . $row["cophone2"] . "</td>"; echo "<td>" . $row["startsalary2"] . "</td>"; echo "<td>" . $row["endsalary2"] . "</td>"; echo "<td>" . $row["reasonleaving2"] . "</td>"; echo "<td>" . $row["supervisor2"] . "</td>"; echo "<td>" . $row["contact2"] . "</td>"; echo "<td>" . $row["position3"] . "</td>"; echo "<td>" . $row["from3"] . "</td>"; echo "<td>" . $row["to3"] . "</td>"; echo "<td>" . $row["duties3"] . "</td>"; echo "<td>" . $row["company3"] . "</td>"; echo "<td>" . $row["cophone3"] . "</td>"; echo "<td>" . $row["startsalary3"] . "</td>"; echo "<td>" . $row["endsalary3"] . "</td>"; echo "<td>" . $row["reasonleaving3"] . "</td>"; echo "<td>" . $row["supervisor3"] . "</td>"; echo "<td>" . $row["contact3"] . "</td>"; echo "<td>" . $row["comments"] . "</td>"; echo "<td>" . $row["training"] . "</td>"; echo "<td>" . $row["otherqual"] . "</td>"; echo "<td>" . $row["documents"] . "</td>"; echo "<td>" . $row["dltype"] . "</td>"; echo "<td>" . $row["dlstate"] . "</td>"; echo "<td>" . $row["expdate"] . "</td>"; echo "<td>" . $row["yearsdriving"] . "</td>"; echo "<td>" . $row["movingviolations"] . "</td>"; echo "<td>" . $row["hsname"] . "</td>"; echo "<td>" . $row["hscity"] . "</td>"; echo "<td>" . $row["hsstate"] . "</td>"; echo "<td>" . $row["hsdates"] . "</td>"; echo "<td>" . $row["collegename"] . "</td>"; echo "<td>" . $row["collegecity"] . "</td>"; echo "<td>" . $row["collegestate"] . "</td>"; echo "<td>" . $row["collegedates"] . "</td>"; echo "<td>" . $row["othername"] . "</td>"; echo "<td>" . $row["othercity"] . "</td>"; echo "<td>" . $row["otherstate"] . "</td>"; echo "<td>" . $row["otherdates"] . "</td>"; echo "<td>" . $row["licenseorcert"] . "</td>"; echo "<td>" . $row["refname1"] . "</td>"; echo "<td>" . $row["refbusiness1"] . "</td>"; echo "<td>" . $row["reftitle1"] . "</td>"; echo "<td>" . $row["refaddress1"] . "</td>"; echo "<td>" . $row["refphone1"] . "</td>"; echo "<td>" . $row["refname2"] . "</td>"; echo "<td>" . $row["refbusiness2"] . "</td>"; echo "<td>" . $row["reftitle2"] . "</td>"; echo "<td>" . $row["refaddress2"] . "</td>"; echo "<td>" . $row["refphone2"] . "</td>"; echo "<td>" . $row["refname3"] . "</td>"; echo "<td>" . $row["refbusiness3"] . "</td>"; echo "<td>" . $row["reftitle3"] . "</td>"; echo "<td>" . $row["refaddress3"] . "</td>"; echo "<td>" . $row["refphone3,felony"] . "</td>"; echo "<td>" . $row["iffelony"] . "</td>"; echo "<td>" . $row["fired"] . "</td>"; echo "<td>" . $row["iffired"] . "</td>"; echo "<td>" . $row["resident"] . "</td>"; echo "<td>" . $row["explanation"] . "</td>"; echo "<td>" . $row["signed"] . "</td>"; echo "<td>" . $row["q1"] . "</td>"; echo "<td>" . $row["q2"] . "</td>"; echo "<td>" . $row["q3"] . "</td>"; echo "<td>" . $row["q4"] . "</td>"; echo "<td>" . $row["mq1"] . "</td>"; echo "<td>" . $row["mq2"] . "</td>"; echo "<td>" . $row["mq3"] . "</td>"; echo "<td>" . $row["mq4"] . "</td>"; echo "<td>" . $row["mq5"] . "</td>"; echo "<td>" . $row["mq6"] . "</td>"; echo "<td>" . $row["mq7"] . "</td>"; echo "<td>" . $row["mq8"] . "</td>"; echo "<td>" . $row["mq9"] . "</td>"; echo "<td>" . $row["mq10"] . "</td>"; echo "<td>" . $row["mq11"] . "</td>"; echo "<td>" . $row["mq12"] . "</td>"; echo "<td>" . $row["mq13"] . "</td>"; echo "<td>" . $row["mq14"] . "</td>"; echo "<td>" . $row["mq15"] . "</td>"; echo "<td>" . $row["mq16"] . "</td>"; echo "<td>" . $row["mq17"] . "</td>"; echo "<td>" . $row["mq18"] . "</td>"; echo "<td>" . $row["mq19"] . "</td>"; echo "<td>" . $row["mq20"] . "</td>"; echo "<td>" . $row["mq21"] . "</td>"; echo "<td>" . $row["mq22"] . "</td>"; echo "<td>" . $row["mq23"] . "</td>"; echo "<td>" . $row["mq24"] . "</td>"; echo "<td>" . $row["mq24b"] . "</td>"; echo "<td>" . $row["mq25"] . "</td>"; echo "<td>" . $row["mq25b"] . "</td>"; echo "<td>" . $row["mq26"] . "</td>"; echo "<td>" . $row["mq27a"] . "</td>"; echo "<td>" . $row["mq27b"] . "</td>"; echo "<td>" . $row["mq27c"] . "</td>"; echo "<td>" . $row["mq28"] . "</td>"; echo "<td>" . $row["mq29"] . "</td>"; echo "<td>" . $row["mq30answer"] . "</td>"; echo "<td>" . $row["disclosuresig"] . "</td>"; echo "<td>" . $row["verify_name"] . "</td>"; echo "<td>" . $row["other_names"] . "</td>"; echo "<td>" . $row['ssn'] . "</td>"; echo "<td>" . $row["dob"] . "</td>"; echo "</tr>"; } echo "</table>"; } </code></pre>

最佳答案

要使用 AES_ENCRYPT 和 AES_DECRYPT,字段类型必须为 BLOB。我将其设置为 VARCHAR,但它无法识别某些字符。将字段类型更改为 blob 效果非常好。

关于php - MySQL 查询返回带有 AES_ENCRYPT 的空白字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13713912/

相关文章:

php - 无法与任何数据库主机建立连接

php - 如何在 Magento 核心 API 之外获取订单的送货/账单地址 ID?

javascript - 如何在服务器端验证 google reCaptcha?

MySQL正则表达式操作

C# 使用 Java SOAP 服务 WSSecurity

php - 如果使用参数绑定(bind),PHP 中的查询无法在 SQL Server 中查看临时表

MySQL顺序插入很慢,而线程插入很快 - 为什么?

mysql - 在mysql中创建和删除用户时 ERROR 1396 (HY000) : Operation CREATE USER

iphone - Objective-C 解密 AES 128 cbc 十六进制字符串

encryption - 建议在 AES 实现中使用相同的 IV