1

所以我在这里按照本指南http://www.kodyaz.com/articles/sql-server-2005-database-encryption-step-by-step.aspx了解如何为我的数据库设置加密。那边一切都很好。

我正在尝试获取一些已加密的数据以便现在显示。我可以调用未加密的数据,但我似乎无法弄清楚如何使用对称密钥来解密加密数据并显示在页面上。

最初我认为我应该使用存储过程并让它捕获值,但不完全确定如何实现它。

echo "This is the database userId field: " . $row->userId . "<p>";
echo "This is the database email field: " . $row->email . "<p>";
echo "This is the database encryptedpassword2 field: " . $row->encrypteddata . "<p>";

这就是我调用数据的方式,但不确定如何让加密数据字段通过我的密钥传递然后显示。目前它只显示随机字符。

我对 SQL 加密有点陌生,所以我希望我能设法解释一下自己。

谢谢

4

1 回答 1

1

一般来说,您不需要解密密码字段。您只需对用户的输入进行哈希处理,并将其与之前的哈希密码进行比较,以查看哈希是否匹配。请花一点时间了解散列和加密之间的区别

如果您真的想从数据库中获取加密信息(希望不是密码),您应该在返回给 PHP 之前调用DecryptByKey您的 SQL 语句(如链接文章中所述)。

于 2012-07-17T17:46:39.923 回答