【问题标题】:Can I encrypt value in C# and use that with SQL Server 2005 symmetric encryption?我可以在 C# 中加密值并将其与 SQL Server 2005 对称加密一起使用吗?
【发布时间】:2011-03-02 15:21:46
【问题描述】:

更具体地说,如果我创建一个具有特定 KEY_SOURCE 和 ALGORITHM 的对称密钥(如 here 所述),有什么方法可以在 C# 中设置相同的密钥和算法,以便我可以加密数据在代码中,但该数据是否由 Sql Server 中的对称密钥解密?

从我目前所做的研究来看,密钥的 IDENTITY_VALUE 似乎也包含在密码文本中,使事情变得更加复杂。

我正在考虑尝试所有我能想到的各种方法,即使用不同的散列算法对 KEY_SOURCE 进行散列,并尝试不同的方法来加密纯文本,直到我得到可行的方法。还是只是徒劳?

有其他人做过吗,有什么建议吗?

更新

澄清一下,我想在客户端使用 NHibernate,但是在数据库端有一堆存储过程仍在执行解密。

【问题讨论】:

    标签: c# sql-server sql-server-2005 encryption


    【解决方案1】:

    您反对在 SQL Server 中加密数据吗?

    不知道您的应用程序的要求,从架构的角度来看,我会坚持在 SQL 端进行加密和解密。

    但是,我只能推测您想要这样做的一个原因是您可能不信任您的应用程序和 SQL Server 之间的传输介质,并且您希望加密通过该通道的 TSQL,以防万一被拦截了。

    如果是这种情况 - 我建议查看 SQL Server 中的 SSL HTTP 端点,因为这可能是一个可行的选择。

    【讨论】:

    • 对不起应该更清楚了,确切的要求是我想在客户端使用NHibernate,但是有一堆在数据库端执行解密的存储过程,我会更新问题。
    猜你喜欢
    • 2020-07-30
    • 2013-09-22
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 2010-09-14
    相关资源
    最近更新 更多