2011-03-04 35 views
0

我一直在爲此幹了幾周,無法找到可行的解決方案。這是我的場景:使用T-SQL加密密碼,將由ASP.NET會員供應商解密

我有一個DTSX包從外部數據庫導入用戶數據。然後它在本地數據庫中創建用戶帳戶和配置文件。用戶也可以通過自定義ASP.NET成員資格提供程序創建。提供者必須能夠驗證這兩種類型的用戶。

在開發過程中,這一切都很好,因爲密碼是以明文形式存儲的。但是,現在我們已準備好發佈提供商的密碼格式,必須將其設置爲加密,並且必須使用加密的密碼創建通過DTSX創建的用戶。 (我寧願密碼被散列,但客戶的要求是密碼可以恢復)。真正的問題似乎是在DTSX內創建一個可由ASP.NET成員資格提供程序解密的加密密碼。

我原來的解決方案是讓DTSX調用一個CLR存儲過程,它可以訪問與提供者相同的加密邏輯。我得到它的工作,但我們的客戶端不會啓用CLR集成。這就是窗外。現在我正在調查替代方案。另一種方法是簡單地使用T-SQL的內置加密方法。但是,我如何共享用於加密/解密的密鑰?

我的問題是,是否有可能在T-SQL中生成密碼,比如說使用EncryptByKey,這也可以被我的提供者解密?這意味着SQL中的密鑰必須與我的machineKey配置中的密鑰相匹配。我不知道這是否可能。

任何見解/幫助非常感謝。

+0

永遠不會找到問題的解決方案。做了完全不同的事情。 – mikesigs 2011-03-16 13:52:42

回答

1

你爲什麼不在你的dtsx中使用腳本任務來加密用戶密碼?