记住密码超简单实现(C#)

简介: 实现效果如下 实现过程 [Serializable] class User { //记住密码 private string loginID; public string LoginID { ...

实现效果如下

实现过程

 [Serializable]
    class User
    {
        //记住密码
        private string loginID;
        public string LoginID
        {
            get { return loginID; }
            set { loginID = value; }
        }

        private string pwd;
        public string Pwd
        {
            get { return pwd; }
            set { pwd = value; }
        }
       
    }

首先新建一个实体类,创建两个字段并封装成对应属性

                    User user = new User();
                    // 登录时 如果没有Data.bin文件就创建、有就打开
                    FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
                    BinaryFormatter bf = new BinaryFormatter();
                    // 保存在实体类属性中
                    user.LoginID = comboBoxEx1.Text.Trim();
                    //保存密码选中状态
                    if (checkBoxXUser.Checked)
                        user.Pwd = passWordtext.Text.Trim();
                    else
                        user.Pwd = "";
                    //选在集合中是否存在用户名 
                    if (users.ContainsKey(user.LoginID))
                    {
                        //如果有清掉
                        users.Remove(user.LoginID);
                    }
                    //添加用户信息到集合
                    users.Add(user.LoginID, user);
                    //写入文件
                    bf.Serialize(fs, users);
                    //关闭
                    fs.Close();

然后对选中按钮做判断是否选中,若选中则将用户信息添加到集合中。最后记得关闭文件的读写操作~,到这里已经完成了保存用户信息到集合中了。是不是超简单,不过还没有完。因为我们上面只是保存,我们需要打开窗体或者页面的时候,是需要将用户信息再次

读取出来的。所以下面将是对用户信息的读操作

            //读取文件流对象
            FileStream fs = new FileStream("data.bin", FileMode.OpenOrCreate);
            if (fs.Length > 0)
            {
                BinaryFormatter bf = new BinaryFormatter();
                //读出存在Data.bin 里的用户信息
                users = bf.Deserialize(fs) as Dictionary<string, User>;
                //循环添加到Combox1
                foreach (User user in users.Values)
                {
                    comboBoxEx1.Items.Add(user.LoginID);
                }

                //combox1 用户名默认选中第一个
                if (comboBoxEx1.Items.Count > 0)
                    comboBoxEx1.SelectedIndex = comboBoxEx1.Items.Count - 1;
            }
            fs.Close();

读的话比较简单,就不一一解释了,相信各位能看明白,另外,当中需要引用到的类库是

using System.Runtime.Serialization.Formatters.Binary;

using System.Threading;  

 

  • 感谢你的阅读。如果你觉得这篇文章对你有帮助或者有启发,就请推荐一下吧~你的精神支持是博主强大的写作动力。欢迎转载!
  • 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。
  • 欢迎加入.NET 从入门到精通技术讨论群→523490820 期待你的加入
  • 不舍得打乱,就永远学不会复原。被人嘲笑的梦想,才更有实现的价值。
  • 我的博客:http://www.cnblogs.com/zhangxiaoyong/
目录
相关文章
|
3月前
|
安全 C# 数据安全/隐私保护
后端使用C#正则校验密码
这篇文章提供了一个使用C#编写的密码校验示例,通过正则表达式匹配8-16位的密码,确保密码中至少包含一个大写字母、一个小写字母、一个数字以及一个特殊字符。
23 1
后端使用C#正则校验密码
|
6月前
|
算法 安全 C#
C#版开源免费的Bouncy Castle密码库
C#版开源免费的Bouncy Castle密码库
|
Web App开发 数据采集 测试技术
使用Selenium和代理用户名和密码在C#中进行无头浏览
Selenium是一个自动化测试工具,可以模拟用户在浏览器中的操作。在C#中使用Selenium和爬虫代理加强版IP的时候,因为代理服务器需要用户名和密码进行认证,Chrome浏览器会弹出一个认证窗口要求输入用户名和密码。可以创建一个Chrome扩展插件,然后加载使用完成自动认证窗口。
313 0
使用Selenium和代理用户名和密码在C#中进行无头浏览
|
算法 C# 数据安全/隐私保护
C#:使用MD5对用户密码加密与解密
原文:C#:使用MD5对用户密码加密与解密     C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式。本文总结了通用的算法并结合了自己的一点小经验,分享给大家。 一.
3625 1
|
C# 数据安全/隐私保护
C# 登录界面 密码修改
求助:登录界面的密码修改,怎么能将修改后的密码保存到登录界面中去,使得原密码被真正地修改,求大神解答疑惑啊!
2329 0
|
前端开发 C# 数据安全/隐私保护
C# WPF MVVM QQ密码管家项目(8,完结篇:自动输入QQ号、密码)
原文:C# WPF MVVM QQ密码管家项目(8,完结篇:自动输入QQ号、密码) 目录: 1,界面设计 2,数据模型的建立与数据绑定 3,添加QQ数据 4,修改QQ数据 5,删除QQ数据 6,密码选择输入界面数据绑定 7,对QQ登录界面的自动输入思路分析 8,完结篇:自动输入QQ号、密码   接上篇,获取QQ登录界面句柄、窗口位置、鼠标/键盘操作等都需要用到win32api win32api是windows系统预留的接口,通过接口我们可以实现对系统更加深度地操作。
1690 0
|
数据安全/隐私保护
C#--用户密码处理------混淆密码加密
近期刚好做新框架的用户数据安全这块 密码的保护措施:混淆加密--------------------------------拙见----------贴上代码--请指教 1:生成混淆数据,---存入数据表字段 2:获取密码混淆加密字符串-----存入数据表字段      /*-------...
1352 0
|
C# 数据库 数据安全/隐私保护
C#破解access数据库密码方法
原文:C#破解access数据库密码方法 using System; using System.Collections.Generic; using System.IO; using System.
871 0