可以从SQL Server Management Studio创建简单成员资格用户帐户吗?
我在创建用户/帐户时找到的唯一方法是在运行应用程序时使用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)')
可用于简单会员。</ p>
答案 0 :(得分:2)
我认为最简单的方法是创建然后导入一个简单的.NET程序集并在Sql Server中使用它 http://msdn.microsoft.com/en-us/library/ms189876.aspx
成员资格服务使用.NET的系统和加密库的配置来生成单向哈希AFAIK,因此在t-sql中重做同样的事情并不是一件容易的事。