【问题标题】:Encrypting passwords with T-SQL that will be decrypted by ASP.NET Membership Provider使用将由 ASP.NET Membership Provider 解密的 T-SQL 加密密码
【发布时间】:2011-03-04 18:51:49
【问题描述】:

我已经为此苦恼了几个星期,但找不到可行的解决方案。这是我的场景:

我有一个从外部数据库导入用户数据的 DTSX 包。然后它在本地数据库中创建用户帐户和配置文件。还可以通过自定义 ASP.NET 成员资格提供程序创建用户。提供者必须能够验证这两种类型的用户。

在开发过程中这一切都很好,因为密码以明文形式存储。但是,现在我们已准备好发布,必须将提供程序的密码格式设置为加密,因此通过 DTSX 创建的用户必须使用加密密码创建。 (我希望密码被散列,但客户的要求是密码是可恢复的)。真正的问题似乎是在 DTSX 中创建一个可由 ASP.NET Membership Provider 解密的加密密码。

我最初的解决方案是让 DTSX 调用一个 CLR 存储过程,该过程可以访问与提供程序相同的加密逻辑。我让它工作了,但我们的客户不会启用 CLR 集成。所以这就是窗外。现在我正在研究替代方案。一种替代方法是简单地使用 T-SQL 的内置加密方法。但是如何共享用于加密/解密的密钥?

我的问题是,是否可以在 T-SQL 中生成密码,比如使用 EncryptByKey,我的提供商也可以解密该密码?这意味着 SQL 中的键必须与我的 machineKey 配置中的键匹配。我不知道这是否可能。

非常感谢任何见解/帮助。

【问题讨论】:

  • 从未找到解决问题的方法。做了一些完全不同的事情。

标签: sql-server-2005 encryption asp.net-membership


【解决方案1】:

为什么不使用 dtsx 中的脚本任务来加密用户密码?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 2016-04-09
    • 2011-12-02
    • 2011-08-24
    相关资源
    最近更新 更多