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è)計有所幫助。
相關(guān)文章
Unity 通過LineRenderer繪制兩點之間的直線操作
這篇文章主要介紹了Unity 通過LineRenderer繪制兩點之間的直線操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
c#操作sqlserver數(shù)據(jù)庫的簡單示例
這篇文章主要介紹了c#操作sqlserver數(shù)據(jù)庫的簡單示例,需要的朋友可以參考下2014-04-04
C# 復(fù)制指定節(jié)點的所有子孫節(jié)點到新建的節(jié)點下
這篇文章主要介紹了C# 復(fù)制指定節(jié)點的所有子孫節(jié)點到新建的節(jié)點下的相關(guān)資料,非常不錯具有一定的參考借鑒價值,需要的朋友可以參考下2016-10-10
C#中LinkedList<T>的存儲結(jié)構(gòu)詳解
這篇文章主要介紹了深度解析C#中LinkedList<T>的存儲結(jié)構(gòu),本文將從鏈表的基礎(chǔ)特性、C#中LinkedList的底層實現(xiàn)邏輯,.NET的不同版本對于Queue的不同實現(xiàn)方式的原因分析等幾個視角進行簡單的解讀,需要的朋友可以參考下2023-12-12

