c# 密码登录
2012-11-23 10:48:01 li185416672 阅读数 684

方法一

using System.Security.Cryptography;
using System.Text;

    byte[] upwd = (new ASCIIEncoding()).GetBytes(TextBoxPWD.Text);
    byte[] mdpwdByte = md5.ComputeHash(upwd);
    string mdpwdString = (new ASCIIEncoding()).GetString(mdpwdByte);

mdpwdString 就是加密后数据,你添加用户,和验证都用到这个。

方法二

using System.Web.Security;
//pass就是人要加密的密码
pass = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "MD5");

//16位加密

FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);

关于SHA-1算法 MD5算法

//SHA-1算法
string password = System.Web.Security.FormsAuthentication.HashPasswordForStoringIn

ConfigFile(Password.Text, "SHA1");
//MD5算法
string password1 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Password.Text, "MD5");

    加密后生成不可逆密文保存到数据库中。用户登录时用加密计算后的密文与数据库中的密码密文比较。一致则通过验证,不一致则返回登录错误。这种加密算法是不可逆的,所以除了用户自己,其他人无法得知用户的真实密码内容。

SHA-1算法和MD5算法的区别:
SHA-1比MD5多32位密文,所以更安全。由于同样的原因,MD5比SHA-1的运算速度更快。

2018-09-07 22:33:48 kenjianqi1647 阅读数 892

1、简介

https://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex(v=vs.110).aspx

正则表达式类

//Regex.IsMatch();//用来判断给定的字符串是否匹配某个正则表达式

//Regex.Match();//用来从给定的字符串中按照正则表达式的要求提取【一个】匹配的字符串

//Regex.Matches();//用来从给定的字符串中按照正则表达式的要求提取【所有】匹配的字符串

//Regex.Replace(); //替换所有正则表达式匹配的字符串为另外一个字符串。

2、用来进行判断输入密码格式要求

格式要求:

最少一个小写字符

最少一个大写字符

最少一个数字

最少8位字符长,最长30个字符

  private void stu_register()
        {

            stu_info.UserName = Tb1.Text.ToString().Trim();//获取输入用户名
            stu_info.Password = Tb2.Text.ToString().Trim();//获取输入密码   

            if (stu_info.UserName != "" && stu_info.Password != "" )
            {
                //使用regex进行格式设置 至少有数字、大小写字母,最少8个字符、最长30个字符
                Regex regex = new Regex(@"(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,30}");
              
                if (regex.IsMatch(teacher_info.Password))//判断密码格式是否符合要求
                {
                 
                        MessageBox.Show("输入密码格式正确!");
               
                }
                else
                {
                    MessageBox.Show("输入密码格式错误!");
                }
            }
            else
            {
                MessageBox.Show("Please fill in the full information!");
            }
        }

 

2010-06-03 18:32:00 dongdingbaihe 阅读数 3412

  首先,添加两个DLL,    SHDocVw,mshtml

using SHDocVw;
using mshtml;

//添加以下方法:

    public void GotoURL(string URL)
        {
            //实例化一个IE模型
            SHDocVw.InternetExplorer IE = new InternetExplorer();           
            IE.Visible = true;
            object nullArg = null;
            //引导到URL
            IE.Navigate(URL, ref nullArg, ref nullArg, ref nullArg, ref nullArg);
        }

//使用,登录Google Mail

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
               SHDocVw.InternetExplorer IE = new InternetExplorer();
                IE.Visible = true;
                string URL = "http://mail.google.com/";
                object nullArg = null;
                IE.Navigate(URL, ref nullArg, ref nullArg, ref nullArg, ref nullArg);

                System.Threading.Thread.Sleep(3000);
                //得到IE的文档对象模型
                mshtml.IHTMLDocument2 DOM = (mshtml.IHTMLDocument2)IE.Document;
                //声明用户名
                mshtml.IHTMLInputTextElement txtUserName = (mshtml.IHTMLInputTextElement)DOM.all.item("Email", null);
                txtUserName.value = "******";//用户名
                //声明密码
                mshtml.IHTMLInputTextElement txtPwd = (mshtml.IHTMLInputTextElement)DOM.all.item("Passwd", null);
                txtPwd.value = "******";//密码
                //声明登录
                mshtml.HTMLInputElement btnLogin = (mshtml.HTMLInputElement)DOM.all.item("null", 0);
                System.Threading.Thread.Sleep(1000);
                //button2_Click(sender, e);
                //return;
            }
            catch (Exception ex)
            {

            }

        }

2006-11-15 15:22:00 neok 阅读数 857

 // 登录函数
  private void Login(string id,string pwd)
  {
   string username = id;
   string password = pwd;

   // 用户名和密码长度 用户名长度 > 4 密码长度 > 6
   if ( username.Length < 4 || password.Length < 6 )
   {
    System.Windows.Forms.MessageBox.Show("输入的 用户名称 或 密码 的长度不满足条件",this.Text);
    return;
   }

   // 使用 正则表达式 校验 用户名/密码 是否含有非标准字符
   // 用户名使 正则表达式 "^/w+$" 由数字、26个英文字母或者下划线组成的字符串
   // 密码 正则表达式 "^[A-Za-z0-9]+$" 由数字和26个英文字母组成的字符串
   // 利用正则表达式判断用户名和密码中是否存在非法字符
   // 用户名只能为数字、字母、下划线
   // 密码只能为数字、字母
   string pattern_username,pattern_password;
   pattern_username = @"^/w+$";
   pattern_password = @"^[A-Za-z0-9]+$";
   if ( System.Text.RegularExpressions.Regex.Match(username,pattern_username).Success &&
        System.Text.RegularExpressions.Regex.Match(password,pattern_password).Success )
   {

    // 进行MD5加密
    string md5_password =string.Empty;
    System.Security.Cryptography.MD5 Md5 = System.Security.Cryptography.MD5.Create();
    byte[] md5_s = Md5.ComputeHash(System.Text.Encoding.Unicode.GetBytes( password ));
    for ( int i = 0; i < md5_s.Length; i++ )
    {
     md5_password = md5_password + md5_s[i].ToString("x");
    }
    System.Console.WriteLine(md5_password);
    // 加密完成后发送到数据库中检查是否为注册用户
    // 判断数据库文件是否存在
    if ( System.IO.File.Exists("D://test.mdb"))
    {
     OleDbConnection dbconn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source=D:/test.mdb");
     OleDbCommand myCmd = new OleDbCommand("SELECT * FROM login WHERE 用户名='" + username + "'", dbconn);
     dbconn.Open();
     OleDbDataReader reader;
     reader = myCmd.ExecuteReader();

     if (reader.Read())
     {
      if ( md5_password == reader["密码"].ToString() )
      {
       this.Hide();
       Form newfrm = new Form2();
       newfrm.Show();
      }
      else
      {
       System.Windows.Forms.MessageBox.Show("密码 验证 错误",this.Text);
       return;
      }
     }
     else
     {
      System.Windows.Forms.MessageBox.Show("查询数据库中没有这个 用户名称",this.Text);      
     }
     dbconn.Close();
    }
    else
    {
     // 如果数据库不存在
     System.Windows.Forms.MessageBox.Show("No Find Database",this.Text);
     return;
    }
   }
   else
   {
    // 用户名和密码出现非法字符
    System.Windows.Forms.MessageBox.Show("用户名称 或 密码 校验错误",this.Text);
   }
  }

2014-03-17 15:03:53 Happy_Girl2012 阅读数 504
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Demo
{
    /// <summary>
    /// Login 的摘要说明
    /// </summary>
    public class Login : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html";
            string name = context.Request["name"];
            string password = context.Request["pwd"];
            string html = "<html><head></head><body><form action='Login.ashx'>name<input type='text' name='name' value='{name}'/><br/>password<input type='text' name='pwd' value='{password}'/><input type='submit' value='Login'/></form><p>{msg}</p></body></html>";
            if (String.IsNullOrEmpty(name) && string.IsNullOrEmpty(password))
            {
                context.Response.Write("<html>");
                String code = html.Replace("{name}", "");
                code = code.Replace("{password}", "");
                code = code.Replace("{msg}", "");
                context.Response.Write(code);
            }
            else
            {
                if (name == "guanlin" && password == "123")
                {
                    context.Response.Write("<html>");
                    String code = html.Replace("{name}", name);
                    code = code.Replace("{password}", password);
                    code = code.Replace("{msg}", "success");
                    context.Response.Write(code);
                }
                else
                {
                    context.Response.Write("<html>");
                    String code = html.Replace("{name}", name);
                    code = code.Replace("{password}", password);
                    code = code.Replace("{msg}", "false");
                    context.Response.Write(code);
                }
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

新浪微博登录之前JS密码加密算法之C#版

阅读数 805

原文地址:http://www.cnblogs.com/zhaojingjing/archive/2011/11/15/2250118.html#2246857刚看到园子里面有个人写新浪微博登录实现,他发的那个是java版,我以前刚好也做过类似的,有一个c#的,贡献出来吧publicclassSHA1Util{privatestaticread

博文 来自: slyzly

C#登录窗口设计,及密码不可见设计

阅读数 899

请参阅,怎么不能上传

博文 来自: weixin_42901023

玛雅人的密码(C#)

阅读数 705

题目描述玛雅人有一种密码,如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串,(2=输入描述:输入包含多组测试数据,每组测试数据由两行组成。第一行为一个整数N,代表字符串的长度(2

博文 来自: LifeToughLoveEasy

三层登录—c#

阅读数 448

学习了三层,有一个登录窗体的小练习,是我们第一次接触三层的初战。现在只是简单的了解了一些,需要学习的还有很多,下面浅谈自己的理解。   我们说的三层就是分层了显示层、业务逻辑层和数据访问层,其中显示层是直接和客户打交道的,是用户的显示界面;而业务逻辑层是处理业务的,是中间的桥梁,联系着显示层和数据访问层,把用户的请求进行分析处理,在给数据源写入;那么数据访问层是做什么的呢?主要操纵数据库

博文 来自: bysjlwdx

【C#】三层登录

阅读数 150

【C#】三层登录架构U层调用B层,B层调用D层,大家都调用实体层代码U层usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSys...

博文 来自: jing875480512
没有更多推荐了,返回首页