所以我在这里按照本指南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>";
这就是我调用数据的方式,但不确定如何通过我的密钥传递encrypteddata字段然后显示。目前它只显示随机字符。
我对SQL加密有些新意,所以我希望我能够解释自己有点好。
由于
答案 0 :(得分:1)
一般来说,您不需要解密密码字段。您只需要对用户的输入进行哈希处理,并将其与之前的哈希密码进行比较,以查看哈希值是否匹配。请花点时间了解the difference between hashing and encryption。
如果您真的想要从数据库中获取加密信息(希望不是密码),您应该在SQL语句中调用DecryptByKey
(如linked article中所述),然后再返回PHP。