C# 如何在SQL数据库中用旧密码替代新密码
我正在做在线mcq项目 我们提供了“忘记密码”选项。在学生点击并发送OTP后,学生应该添加他的新密码。新密码随后存储在数据库中,但我没有得到如何在SQL数据库中用旧密码覆盖新密码的代码C# 如何在SQL数据库中用旧密码替代新密码,c#,sql,overriding,C#,Sql,Overriding,我正在做在线mcq项目 我们提供了“忘记密码”选项。在学生点击并发送OTP后,学生应该添加他的新密码。新密码随后存储在数据库中,但我没有得到如何在SQL数据库中用旧密码覆盖新密码的代码 我不想创建太多的列,因此我希望覆盖并在数据库中使用新密码来代替旧密码进行读取。您的要求并不明显。。。但听起来你只是想更新数据库中的一行,然后将一个特定列设置为一个新值,对吗?而且。。。您的意思是“salted password hash”,而不是“password”,对吗?updatetable SET Hash
我不想创建太多的列,因此我希望覆盖并在数据库中使用新密码来代替旧密码进行读取。您的要求并不明显。。。但听起来你只是想
更新数据库中的一行,然后将一个特定列设置为一个新值,对吗?而且。。。您的意思是“salted password hash”,而不是“password”,对吗?updatetable SET HashedPassword=@NewValue,其中UserID=@UserID
Declare @UserName NVarChar(30)
Declare @Password NVarChar(30)
Declare @Application NVarChar(255)
Declare @PasswordSalt NVarChar(128)
set @UserName = 'UserName'
set @Password = 'Pass'
set @Application = '/Application'
Set @PasswordSalt = (SELECT 1 PasswordSalt FROM aspnet_Membership WHERE UserID IN (SELECT UserID FROM aspnet_Users u, aspnet_Applications a WHERE u.UserName=@UserName and a.ApplicationName = @Application AND u.ApplicationId = a.ApplicationId))
Exec dbo.aspnet_Membership_ResetPassword @Application, @UserName, @Password, 10, 10, @PasswordSalt, -5