Я использую логин и членство asp.net 4. и создаю пользователя с passwrod = "12345678", мой хэш пароля в базе данных - "h8A5hga0Cy93JsKxYnJl/U2AluU =", а passwordsalt - "UhVlqavmEX9CiKcUXkSwCw ==".Что такое алгоритм хеш с контролем входа?
Затем я использую этот код для хэш пароля в другом проекте:
public string HashPassword(string pass, string salt)
{
byte[] bytes = Encoding.Unicode.GetBytes(pass);
byte[] src = Encoding.Unicode.GetBytes(salt);
byte[] dst = new byte[src.Length + bytes.Length];
Buffer.BlockCopy(src, 0, dst, 0, src.Length);
Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length);
HashAlgorithm algorithm = HashAlgorithm.Create("SHA1");
byte[] inArray = algorithm.ComputeHash(dst);
return Convert.ToBase64String(inArray);
}
private void button2_Click(object sender, EventArgs e)
{
textBox2.Text = HashPassword("12345678", "UhVlqavmEX9CiKcUXkSwCw==");
}
textBox2.Text = "YM/JNwFqlL + WA3SINQp48BIxZRI =". Но textBox2.Text! = Мой пароль hashed с элементом управления в базе данных. это «h8A5hga0Cy93JsKxYnJl/U2AluU =».
Edit:
Это алгоритм хеширования с контролем входа в систему?
public string EncodePassword(string pass, string salt)
{
byte[] bytes = Encoding.Unicode.GetBytes(pass);
byte[] src = Convert.FromBase64String(salt);
byte[] dst = new byte[src.Length + bytes.Length];
Buffer.BlockCopy(src, 0, dst, 0, src.Length);
Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length);
HashAlgorithm algorithm = HashAlgorithm.Create("SHA1");
byte[] inArray = algorithm.ComputeHash(dst);
return Convert.ToBase64String(inArray);
}
Возможно ли расшифровать пароль? –
Я редактирую свой вопрос. Ваш код был похож на мой код? –