gpt4 book ai didi

c# - aspnet_Membership 表中有解密密码的方法吗?

转载 作者:太空宇宙 更新时间:2023-11-03 21:39:20 25 4
gpt4 key购买 nike

我忘记了管理员密码。我必须为网络应用程序添加新用户。

我不知道aspnet_Membership表中的密码是用什么方法加密的。

例如

select * from aspnet_Membership where UserId='5c908238-f526-4f4c-aac6-a4b284483137'

密码:zEttVSSsEktBXeAHKiB+ihtD9OY=

密码盐:v20qOhDVPnwzY8KPimy9XA==

在 web.config 中

     <membership defaultProvider="eaMemberShipProvider" userIsOnlineTimeWindow="15">
<providers>

<add name="eaMemberShipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

connectionStringName="MyDB"
enablePasswordRetrieval="false" enablePasswordReset="true"

requiresQuestionAndAnswer="true"
applicationName="MyApplication" requiresUniqueEmail="false" passwordFormat="Hashed"

maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0"

passwordAttemptWindow="10" passwordStrengthRegularExpression="" />

</providers>
</membership>

我试过用 C# 中的程序解密

    public static string EncodePasswordToBase64(string password)
{
try
{
byte[] encData_byte = new byte[password.Length];
encData_byte = System.Text.Encoding.UTF8.GetBytes(password);
string encodedData = Convert.ToBase64String(encData_byte);
return encodedData;
}
catch (Exception ex)
{
throw new Exception("Error in base64Encode" + ex.Message);
}
}


public string DecodeFrom64(string encodedData)
{
System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();

System.Text.Decoder utf8Decode = encoder.GetDecoder();

byte[] todecode_byte = Convert.FromBase64String(encodedData);

int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[] decoded_char = new char[charCount];
utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
string result = new String(decoded_char);
return result;
}


private void button2_Click(object sender, EventArgs e)
{
textBox3.Text = DecodeFrom64(textBox2.Text);
}

为此密码 zEttVSSsEktBXeAHKiB+ihtD9OY=

Textbox3= �KmU$�KA]�* ~�C

最佳答案

不存储密码,仅存储密码的哈希值。这可以确保当有人获得您的数据库时,此人无法计算出每个人的密码。您需要更改或重置您要访问的用户的密码。

如果您想更改密码,有几种方法可供选择。例如你可以运行

MembershipUser usr = Membership.GetUser(username);
string resetPwd = usr.ResetPassword();
usr.ChangePassword(resetPwd, newPassword);

引用this article以获得更完整的列表。

关于c# - aspnet_Membership 表中有解密密码的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20144509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com