2013-01-21 34 views
2

是否可以從SQL Server Management Studio創建簡單成員資格用戶帳戶?使用T-SQL創建SimpleMember用戶帳戶 - 密碼是如何散列的?

我已經找到了用戶/客戶建立唯一的方法在運行應用程序時,在C#中:

WebSecurity.CreateUserAndAccount("userName", "password", 
         new 
         { 
          ... 
         }, false); 

有什麼辦法來產生,可以在簡單的會員與T-SQL中使用的哈希密碼?對於簡單成員資格散列密碼的要求是否已知?我發現了其他一些用DefaultMembershipProvider生成密碼的方法,但密碼與Simple Membership不兼容。

編輯: 我希望能找到一個類似的過程:

declare @salt nvarchar(128) 
declare @password varbinary(256) 
declare @input varbinary(512) 
declare @hash varchar(64) 

-- Change these values (@salt should be Base64 encoded) 
set @salt = N'eyhKDP858wdrYHbBmFoQ6DXzFE1FB+RDP4ULrpoZXt6f' 
set @password = convert(varbinary(256),N'mypassword') 

set @input = hashbytes('sha1',cast('' as xml).value('xs:base64Binary(sql:variable(''@salt''))','varbinary(256)') + @password) 
set @hash = cast('' as xml).value('xs:base64Binary(xs:hexBinary(sql:variable(''@input'')))','varchar(64)') 
可能被用於簡單的會員

回答

2

我認爲最簡單的方法是創建然後導入一個簡單的.NET程序集並在Sql Server中使用它。 .NET的系統和加密庫
http://msdn.microsoft.com/en-us/library/ms189876.aspx

會員服務使用的配置,以產生一個單向哈希據我所知,所以它不會是微不足道重做在T-SQL同樣的事情。

+0

我會沿着這條路線走,謝謝。 – njebert

+0

不客氣的朋友:-) –