2017-03-07 41 views
0

从我的注册中加密了我的密码。 现在在登录表单中,我想采取加密的元素,并想解密匹配。如何从xml文件解密xml属性/元素

protected void Submit_Click(object sender, EventArgs e) 
    { 
     string Username = txtUsername.Text; 
     string Password = txtPassword.Text; 
     string FilePath = Server.MapPath("~/Logs/Login.xml"); 
     XDocument Loginxml = new XDocument(); 
     var LoginCheck = Loginxml.Descendants("userDetails") 
      .Any(x => (string)x.Attribute("Username") == Username && EncDec.Decrypt((string)x.Attribute("Password")) == Password); 
     if (LoginCheck) 
     { 
      DisplayMessage.Visible = true; 
      DisplayMessage.Text = "Login Successful"; 
      Response.Redirect("AdminPage.aspx"); 
     } 
     else 
     { 
      DisplayMessage.Visible = true; 
      DisplayMessage.Text = "Invalid Username/Password"; 
     } 
    } 

+0

XML文件: - ** <为userDetails用户名= “testadmin的账户” 密码= “YhY3rY4RCt9XVUiNfaOKmCMP7HADqexWdFHfXc4k3hQ =”/> ** –

+0

请注意,对于匹配密码,通常使用哈希函数。上面的代码不能正常工作, – IllidanS4

+0

? –

回答

0

至于我担心做平常的事是只加密用户输入的密码,看看是否加密的比赛。如果你能在时间它不是一个很好的加密合理的量进行解密;)

+0

字符串用户名= txtUsername.Text; string Password = EncDec.Encrypt(txtPassword.Text); string FilePath = Server.MapPath(“〜/ Logs/Login.xml”); XDocument Loginxml = new XDocument(); var LoginCheck = Loginxml.Descendants(“userDetails”) .Any(x =>(string)x.Attribute(“Username”)==用户名&&(字符串)x.Attribute(“Password”)== Password); 如果(LoginCheck) { }} 试图 –

+0

什么happend –

+0

如果我加入其中在任何它给了我要是中的错误无法隐式转换类型“的IEnumerable ”到“布尔” –