雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

C#簡單生成隨機密碼的方法示例

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

本文實例講述了C#簡單生成隨機密碼的方法。分享給大家供大家參考,具體如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Windows.Forms;
public partial class _Default : System.Web.UI.Page
{
  public static int counter = 0;
  protected void Page_Load(object sender, EventArgs e)
  {
  }
  public static string MakePassword(string pwdchars, int pwdlen)
  {
    //判斷隨機密碼的長度
    string tmpstr = "";
    int iRandNum;
    if (pwdlen > pwdchars.Length)
    {
      return "長度過長!" + pwdchars.Length;
    }
    Random rnd = new Random();
    for (int i = 0; i < pwdlen; i++)
    {
      iRandNum = rnd.Next(pwdchars.Length);
      tmpstr += pwdchars[iRandNum];
    }
    return tmpstr;
  }
  protected void Button1_Click(object sender, EventArgs e)
  {
    int t1 = Convert.ToInt32(TextBox1.Text);
    if (t1 < 10 || t1 > 20 || t1 < 0)
    {
      MessageBox.Show("指定密碼失?。?);
    }//判斷指定的密碼長度是否符合
    else
    {
      string randomchars = "abcdefghijklmnopqrstuvwxyz~!@#$%^&*()_+|0123456789~!@#$%^&*()_+|ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+|";
      string password = MakePassword(randomchars, Convert.ToInt32(TextBox1.Text));
      TextBox2.Text = password;
    }//產(chǎn)生隨機的密碼值
  }//判斷輸入的密碼是否符合隨機產(chǎn)生的密碼
  protected void Button2_Click(object sender, EventArgs e)
  {
    if (TextBox3.Text.Trim()==TextBox2.Text.Trim())
    {
      MessageBox.Show("成功!");
      Response.Write("您現(xiàn)在的密碼是:"+"<font color=red>"+TextBox3.Text+"</font>");
    }
    else
    {
      MessageBox.Show("失??!");
    }
  }
  protected void TextBox1_TextChanged(object sender, EventArgs e)
  {
  }
}

HTML代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
  <title>無標題頁</title>
</head>
<body bgcolor="#66ffcc">
  <form id="form1" runat="server" >
  <div>
         <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <table bgcolor=SpringGreen>
      <tr>
        <td width="100px">
    <asp:Label ID="Label1" runat="server" Text="指定密碼長度(10~20之間)" Width="129px"></asp:Label></td>
        <td width="159px">
    <asp:TextBox ID="TextBox1" runat="server" Width="39px" OnTextChanged="TextBox1_TextChanged">10</asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server" Width="195px" ReadOnly="true"></asp:TextBox></td>
        <td width="103px">
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="產(chǎn)生密碼" /></td>
        <td width="100px">
        </td>
      </tr>
      <tr>
        <td width="100px">
    <asp:Label ID="Label2" runat="server" Text="輸入產(chǎn)生的密碼"></asp:Label></td>
        <td width="159px">
          <asp:TextBox ID="TextBox3" runat="server" Width="261px" TextMode="Password"></asp:TextBox></td>
        <td width="103px">
    <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="驗證" /></td>
        <td width="100px">
        </td>
      </tr>
    </table>
    <br />
    <br />
    <br />
    </div>
  </form>
</body>
</html>

PS:這里再為大家提供兩款功能類似的在線工具供大家參考:

在線隨機數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu

高強度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword

更多關(guān)于C#相關(guān)內(nèi)容還可查看本站專題:《C#字符串操作技巧總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#程序設(shè)計之線程使用技巧總結(jié)》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》

希望本文所述對大家C#程序設(shè)計有所幫助。

上一篇:C#正則過濾HTML標簽并保留指定標簽的方法

欄    目:C#教程

下一篇:C# 日歷類功能的實例代碼

本文標題:C#簡單生成隨機密碼的方法示例

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5644.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有