zoukankan      html  css  js  c++  java
  • MD5加盐实现登录

    第一步:新建一个LoginWindow.xaml,设计如下:

    代码如下:并为btnLogin按钮添加事件代码如下:

     
    <Window x:Class="HRMSys.UI.LoginWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="LoginWindow" Height="200" Width="300">
        <Grid>
            <TextBlock Height="23" HorizontalAlignment="Left" Margin="20,22,0,0" Name="textBlock1" Text="用户名" VerticalAlignment="Top" />
            <TextBlock Height="23" HorizontalAlignment="Left" Margin="20,57,0,0" Name="textBlock2" Text="密码" VerticalAlignment="Top" Width="58" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="87,17,0,0" Name="txtUserName" VerticalAlignment="Top" Width="120" />
            <PasswordBox Height="23" HorizontalAlignment="Left" Margin="89,53,0,0" Name="pwbPassword" VerticalAlignment="Top" Width="120" />
            <Button Content="登录" Height="23" HorizontalAlignment="Left" Margin="36,102,0,0" Name="btnLogin" VerticalAlignment="Top" Width="75" Click="btnLogin_Click" />
            <Button Content="取消" Height="23" HorizontalAlignment="Left" Margin="163,102,0,0" Name="btnCancel" VerticalAlignment="Top" Width="75" />
        </Grid>
    </Window>
     

    btnLogin的事件代码:

     
    private void btnLogin_Click(object sender, RoutedEventArgs e)
            {
                string username = txtUserName.Text;
                string pwd = pwbPassword.Password;
                Operator op=new OperatorDAL().GetByUserName(username);
                if (op == null)
                {
                    MessageBox.Show("用户名或者密码错误!");
                }
                else
                {
                    string dbMD5 = op.Password;//数据库中存储的密码值。
                    string mymd5 = new MD5().GetMD5(pwd+"love@beijing");
                    if (dbMD5 == mymd5)
                    {
                        MessageBox.Show("登录成功!");
                    }
                    else
                    {
                        MessageBox.Show("用户名或者密码错误!"); 
                    }
                }
            }
     

    再次在MainWindow中添加Loaded事件代码如下:

     private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                LoginWindow win = new LoginWindow();
                win.ShowDialog();
            }

    修改下 miOperatorMgr_Click(object sender, RoutedEventArgs e)如下代码:

     
     private void miOperatorMgr_Click(object sender, RoutedEventArgs e)
            {   //写一个固定用户进行测试
                string str = "123";
                string md5 = new MD5().GetMD5(str+"love@beijing");
                Operator op = new Operator();//注意1.App.config要放在UI层中。
                op.UserName = "王五";//2.DAL层通过ConfigurationManager可以读取主项目中的配置文件中得信息。
                op.Password = md5;//引用关系:DAL引用Model,UI引用DAL和Model
                OperatorDAL dal = new OperatorDAL();
                dal.Insert(op);
    
            }
     
  • 相关阅读:
    Android UI性能优化详解
    Android开发中一些被冷落但却很有用的类和方法
    Android开发:Translucent System Bar 的最佳实践
    让动画不再僵硬:Facebook Rebound Android动画库介绍
    Android Touch事件传递机制
    转载爱哥自定义View系列--Canvas详解
    Android最佳实践指南
    Android网络请求心路历程
    转载爱哥自定义View系列--文字详解
    ORM是什么?
  • 原文地址:https://www.cnblogs.com/shixunle/p/3331043.html
Copyright © 2011-2022 走看看