揭开ASP.NET生成随机密码的面纱

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

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

 

复制代码
代码
public static string MakePassword(string pwdchars, int pwdlen)
    {
        
string tmpstr = "";
        
int iRandNum;
        Random rnd 
= new Random();
        
for (int i = 0; i < pwdlen; 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生成随机密码。 

 

转自:http://www.itpub.com

posted @   清茶  阅读(1117)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示