我的用户数据库中有一些我希望加密的数据。大多数数据需要在请求时解密,但也有密码可以加密(过去我们会使用 pwdcompare 但我相信现在已经过时了。)
我已按照here步骤操作,因此我现已成功加密了数据。
我不明白的是在运行时打开主密钥的正确方法,以加密/解密数据。如果我想使用存储过程来检索加密数据,我该如何打开主密钥?我是否使用存储的proc参数传递主密钥的密码?
答案 0 :(得分:1)
据我所知,您应该创建一次主密钥(您可以在安装过程中执行此操作),这是第一次也是最后一次需要密码。之后,使用主密钥创建加密密钥(对称或非对称)无密码,并使用它来加密/解密您的数据。您无需为其提供密码,您只需使用加密密钥并拥有CONTROL权限即可。唯一的问题是你的DBA也可以拥有它:)
请参阅此文章:Using Asymmetric Encryption and Digital Signatures in a SQL Server 2005 Database