ASP.NET 中的随机密码生成

原创 2004年07月05日 19:45:00

  在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再用收到的密码来激活其帐户。

  在 ASP.NET 中,实现随机密码生成功能是很容易的,下面的代码给出了完整的实现方法:

public static string MakePassword(string pwdchars, int pwdlen){
   string tmpstr = "";
   int iRandNum;
   Random rnd = new Random();
   for(int i=0;i     iRandNum = rnd.Next(pwdchars.Length);
     tmpstr += pwdchars[iRandNum];
   }
   return tmpstr;
  }

  对照源码,讲一下具体的思路:

  方法 MakePassword 接受两个参数,pwdchars 参数指定生成的随机密码串可以使用哪些字符,pwdlen 指定生成的随机密码串的长度。有了这两个参数,通过调用 Random 类的 Next() 方法,先获得一个大于或等于 0 而小于 pwdchars 长度的整数,以该数作为索引值,从可用字符串中随机取字符,以指定的密码长度为循环次数,依次连接取得的字符,最后即得到所需的随机密码串了。

  下面的代码调用 MakePassword() 方法获取长度为 10 ,可用字符范围为大小写字母及数字的随机字符串。

string randomchars = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

string password = MakePassword(randomchars, 10);

ASP.Net随机生成验证码

//首先创建一个页面ValidateCodePage: //创建Random的实例 Random rand=new Random(); protected void Page_Load(obje...
  • bingxueer0702
  • bingxueer0702
  • 2013-01-24 18:16:32
  • 1388

java生成随机密码(随机长度,指定长度)方法总结

本文章给大家总结了在java中生成随机密码的几种函数,一种是随机长度密码,另一种是用户固定长度密码。...
  • Zhiyuan_Ma
  • Zhiyuan_Ma
  • 2016-08-10 17:17:45
  • 4237

C#中随机生成指定长度的密码

///  /// C#中随机生成指定长度的密码/// private static string MakePassword(int pwdLength)     {     //声明要返...
  • iamdll
  • iamdll
  • 2015-09-08 12:50:41
  • 3274

.net 中产生唯一随机码的方法分析

现在的WEB中经常会需要产生一些邀请码、激活码。需要是唯一并且随机的。下面总结下一些常用的产生随机码的方法,并分享自己的1个方法. 1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该...
  • wlming6
  • wlming6
  • 2015-07-24 14:56:16
  • 747

linux c 生成八位的随机密码

#include #include #include #include #include char pool[] = { '0','1','2','3','4','5'...
  • u011641885
  • u011641885
  • 2015-09-22 21:06:43
  • 657

python生成随机用户名及密码方法

python生成随机用户名及密码方法
  • y396397735
  • y396397735
  • 2015-08-10 13:31:53
  • 2453

Linux下产生10位随机密码几种方法

第一种: date +%s | sha256sum | base64 | head -c 10              解释: date +%s  -- 当前时间戳                 ...
  • cgl1079743846
  • cgl1079743846
  • 2014-12-28 18:11:33
  • 2429

mysql5.7默认生成随机密码,不知道登录时需要强改

其实想要重置 5.7 的密码很简单,就一层窗户纸: 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysql...
  • hardhard123
  • hardhard123
  • 2017-08-02 13:42:10
  • 1516

C++程序员面试题 函数 生成随机密码 (二)

写一个函数,生成一个指定长度的密码。 要求:密码由大写字母、小写字母和数字三种符号组成,并且大写字母、小写字母和数字必须都有。 #include "stdafx.h" #include #incl...
  • A_sungirl
  • A_sungirl
  • 2013-08-29 22:37:47
  • 1733

python生成随机密码脚本

#!/usr/bin/python ## Use: Make Random Password ## Date: 2013-9-10 ## File: getpasswd.py By Mislo...
  • apache0554
  • apache0554
  • 2015-01-24 14:20:59
  • 9815
收藏助手
不良信息举报
您举报文章:ASP.NET 中的随机密码生成
举报原因:
原因补充:

(最多只允许输入30个字)