【发布时间】:2016-07-13 10:38:39
【问题描述】:
我正在尝试使用 PHP 来执行使用对称密钥解密的 SQL 查询。但是我无法得到任何结果。
我的 PHP 代码如下所示:
$sql = "OPEN SYMMETRIC KEY ServerKey DECRYPTION BY CERTIFICATE ServerCertificate WITH PASSWORD = 'P@ssw0rd' SELECT CONVERT(nvarchar, DecryptByKey([address])) AS [address] FROM [serverDBO].[dbo].[allUsers] where id=63";
$result = $db->Execute("$sql");
var_dump($result);
var_dump 命令导致:
object(ADORecordSet_empty)#200 (6) { ["dataProvider"]=> string(5) "空" ["databaseType"]=> bool(false) ["EOF"]=> bool(true) ["_numOfRows"]=> int(0) ["fields"]=> bool(false) ["connection"]=> 布尔(假)}空10
-
但是,如果我在通过 Microsoft 服务器管理工作室连接到数据库时执行完全相同的查询,我会成功返回结果:
71 测试路
谁能告诉我这里可能出了什么问题或者我如何在 PHP 中正确地做到这一点?
【问题讨论】:
标签: php sql-server encryption encryption-symmetric adodb-php