【发布时间】:2018-08-04 02:55:55
【问题描述】:
我有一个奇怪的问题需要创造性的答案。
我编写了一个程序,该程序在具有 3 列的 SQL Server 表上写入敏感数据。
每次启动该程序时,我都需要检查这些数据。
问题是我需要一种方法来检查这 3 个字段上的数据是否由我的进程写入,而不是由外部或其他进程操纵或复制。
因此,如果 3 个字段中的任何一个字段的数据在外部进行了修改,我的代码将无法识别这些数据。此外,如果数据是从其他服务器复制的,则两者都不应该被重新编码。
我的想法:
1) 使用来自 SQL 实例的唯一数据创建一个秘密私钥。
2) 在表上创建一个二进制字段。
3) 当数据被读取时,用 PwdEncrypt 函数和私钥填充二进制字段作为数据。
4) 读取数据时,使用 PwdCompare 检查二进制字段上的数据是否匹配私钥。
现在,如何确保其他字段不被修改?
我需要它在从 SQL Server Express 2008 R2 到 SQL Server Standard 2016 的多台服务器上工作
谢谢!
【问题讨论】:
标签: sql-server security encryption