我的用户数据库中有一些数据,我希望对其进行加密。大多数数据都需要在请求时解密,但也有一些密码可以保持加密状态(过去我们会使用密码比较但我相信这现在已经过时了)。
我已按照步骤操作here http://www.kodyaz.com/articles/sql-server-2005-database-encryption-step-by-step.aspx,所以我现在已经成功加密了我的数据。
我不明白的是在运行时打开主密钥以加密/解密数据的正确方法。如果我想使用存储过程检索加密数据,如何打开主密钥?我是否使用存储过程参数传递主密钥的密码?
据我了解,您应该创建一次主密钥(您可以在安装过程中执行此操作),这是第一次也是最后一次需要密码。之后,使用主密钥创建加密密钥(对称或非对称)没有密码并用它来加密/解密您的数据。您不必为其提供密码,您所需要的只是使用您的加密密钥并对其具有 CONTROL 权限。唯一的问题是您的 DBA 也可以拥有它:)
参见这篇文章:在 SQL Server 2005 数据库中使用非对称加密和数字签名 https://web.archive.org/web/20210510024707/http://aspnet.4guysfromrolla.com/articles/022807-1.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)