【发布时间】:2017-08-06 06:11:41
【问题描述】:
我正在使用包含敏感信息(SSN、信用卡详细信息等)的数据库。我正在寻找一种方法来保护数据。
我想在从外部来源引入数据时对其进行加密,同时在我的用户通过使用数据库作为其后端的应用程序访问数据时对其进行解密。
我知道以下两种方法,但我很想知道是否有其他方法可以使用。
例子:
ENCRYPTEDBYPASSPHRASE({PASSWORD}, {FIELD})/DECRYPTBYPASSPHRASE({PASSWORD},{FIELD})
-- This allows me to set a custom password but could be read through the stored procedures.
HASHBYTES('SHA_512', {PASSWORD}+CAST({SALT} AS NVARCHAR(36)))
-- This seems the most secure but I do not know how to decrypt the data from here.
ENCRYPTEDBYPASSPHRASE 在这种情况下是否安全?
【问题讨论】:
-
您使用的是哪个 DBMS?
-
抱歉 - 关系 - Microsoft SQL/Oracle
-
这是两个非常不同的数据库系统。您真的需要两者的解决方案吗?
-
抱歉,误解了我正在处理的要求。我正在使用 MS SQL 数据库
标签: sql sql-server tsql encryption