Php 对加密的MySQL表进行排序和查询
2关于MySQL表中加密/解密值的查询 1) 我怎样才能对这些值进行排序,因为值是按顺序加密的,所以排序是不正确的,JavaScript根本不会对a)和b)进行正确排序。下面的代码,请原谅格式化 2) 我如何查询“值之间” 提前谢谢Php 对加密的MySQL表进行排序和查询,php,mysql,sorting,encryption,Php,Mysql,Sorting,Encryption,2关于MySQL表中加密/解密值的查询 1) 我怎样才能对这些值进行排序,因为值是按顺序加密的,所以排序是不正确的,JavaScript根本不会对a)和b)进行正确排序。下面的代码,请原谅格式化 2) 我如何查询“值之间” 提前谢谢 <html> <body> <table> <tr> <?php // Connects to Server, queries all on that table. $db_connect=my
<html>
<body>
<table>
<tr>
<?php
// Connects to Server, queries all on that table.
$db_connect=mysql_connect("$host", "$username", "$password")or die("Sorry, Poor or No Connection");
$db_found=mysql_select_db("$db_name")or die("Sorry, Cannot Connect to Database");
$result=mysql_query("SELECT * FROM $tbl_name");
// Creates Table to be used
echo "
<th>First Name</th>
<th>Last Name</th>
</tr>";
while($row = mysql_fetch_array($result)) {
// Decrypts table IDs
$dec_FName = decrypt($row['FName'],'SECUREKEY');
$dec_LName = decrypt($row['LName'],'SECUREKEY');
echo "<tr>";
<echo>"<td>" . $dec_FName . "</td>";
<echo>"<td>" . $dec_LName . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close();
?>
</body>
</html>
我怀疑需要创建一个数组。我很乐意使用JavaScript、PHP或任何您可以推荐的工具。我认为您无法在SQL server中实现这一点。如果列都是加密的,它就无法以有意义的方式对列进行排序或筛选 您需要将数据拉入PHP并在那里进行排序。解密数据后,您将能够使用任何PHP或您自己的PHP
显然,对于大型数据集,这会变得非常快,因为每次使用都需要检索所有数据。也许您可以为此目的存储一些未加密的数据,但这显然是针对您的安全需求的。这对我来说很好:
$q3='SELECT users.uid,
users.vr,
users.br,
AES_DECRYPT(users.nm1,"123") AS nm1,
AES_DECRYPT(users.nm2,"123") AS nm2,
AES_DECRYPT(users.nm3,"123") AS nm3,
ussys.ty1,
ussys.ty3
FROM users,ussys WHERE users.uid=ussys.uid
ORDER BY nm1 DESC
';
它在nm1上排列得很好,给了我扎克·威勒克·维克托·罗万·普洛普·夸布·克拉布·卡雷尔·约翰尼斯·哈里·杰拉德·德克·科内利斯·伯纳德·安东的印象。我知道这篇文章很老了,但我遇到了同样的问题,关于这方面的信息并不多。这就是我所做的,它就像魔术一样
SELECT AES_DECRYPT(column1, '%key%') AS 'column1' FROM `myTable` WHERE
1 ORDER BY AES_DECRYPT(column1, '%key%') ASC;
我有一个包含230行和4列的表要解密,加上排序列,在VPS虚拟机上用这些规格重新获得结果需要2.5毫秒:2个Xeon E5 CPU内核、2 Gb RAM、50 GBs SSD