可以从 SQL Server Management Studio 创建简单成员(member)用户帐户吗?
我发现的创建用户/帐户的唯一方法是在运行应用程序时使用 C#:
WebSecurity.CreateUserAndAccount("userName", "password",
new
{
...
}, false);
是否有任何方法可以生成可在简单成员(member)资格中使用 t-SQL 的哈希密码?简单成员(member)散列密码的要求是否已知?我找到了使用 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)')
可用于简单成员(member)资格。
最佳答案
我认为最简单的方法是创建然后导入一个简单的.NET 程序集并在 Sql Server 中使用它。
http://msdn.microsoft.com/en-us/library/ms189876.aspx
成员(member)服务使用 .NET 的系统配置和加密库来生成单向哈希值(AFAIK),因此在 t-sql 中重做相同的事情并不是一件容易的事。
关于asp.net - 使用 T-SQL 创建 SimpleMember 用户帐户 - 密码如何散列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14447843/