欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#简单生成随机密码的方法示例

程序员文章站 2023-11-24 12:43:28
本文实例讲述了c#简单生成随机密码的方法。分享给大家供大家参考,具体如下: using system; using system.data; using sy...

本文实例讲述了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;
    }//產生隨機的密碼值
  }//判斷輸入的密碼是否符合隨機產生的密碼
  protected void button2_click(object sender, eventargs e)
  {
    if (textbox3.text.trim()==textbox2.text.trim())
    {
      messagebox.show("成功!");
      response.write("您現在的密碼是:"+"<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="產生密碼" /></td>
        <td width="100px">
        </td>
      </tr>
      <tr>
        <td width="100px">
    <asp:label id="label2" runat="server" text="输入产生的密码"></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:这里再为大家提供两款功能类似的在线工具供大家参考:

在线随机数字/字符串生成工具:

高强度密码生成器:
http://tools.jb51.net/password/createstrongpassword

更多关于c#相关内容还可查看本站专题:《c#字符串操作技巧总结》、《c#数据结构与算法教程》、《c#常见控件用法教程》、《winform控件用法总结》、《c#程序设计之线程使用技巧总结》、《c#数组操作技巧总结》及《c#面向对象程序设计入门教程

希望本文所述对大家c#程序设计有所帮助。