如何使用sqlserver.management.smo通过symmetryk密钥从sql server中的表中获取加密

本文关键字:server sql 加密 获取 密钥 sqlserver 何使用 management smo symmetryk 通过 | 更新日期: 2023-09-27 18:00:05

我的密码字段使用SymmetricKey。现在我想用解密的密码从那个表中获取所有记录。我使用的是Microsoft.SqlServer.Management.Smo.

var tbls = new Table();
tbls = db.Tables[tblname];
ScriptingOptions options = new ScriptingOptions();
options.ScriptData = true;
options.ScriptDrops = false;
options.EnforceScriptingOptions = true;
options.ScriptSchema = false;
options.IncludeHeaders = true;
options.AppendToFile = true;
options.Indexes = true;
options.WithDependencies = true;                                
ServerVersion sv = new ServerVersion(2008, 2005);
options.SetTargetServerVersion(sv);
var script = tbls.EnumScript(options);
string queryes ="";                                 
foreach (var line in script)
{
   if (line.Contains("VALUES"))
   {
      queryes += line;                                        
   }
}

如何获取解密记录的数据?

如何使用sqlserver.management.smo通过symmetryk密钥从sql server中的表中获取加密

如果该字段已经使用对称密钥加密,那么您应该使用以下语句使用对称密钥打开它。

OPEN SYMMETRIC KEY[密钥名称]通过[解密机制]解密

以下链接可以帮助您了解对称密钥、非对称密钥和创建证书以加密&解密数据。[https://msdn.microsoft.com/en-us/library/ms190499.aspx]