在.NET中产生随机密码字符串

STM32Cube高效开发教程<高级篇><FreeRTOS>(一)-----FreeRTOS基础 一、 FreeRTOS概述声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(高级篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。写在前面:今天就算正式开始高级篇的博客编写了,我本人也是第一次学习FreeRTOS,所以整体的进度会比较慢,博客更新可能不太会及时,希望大家原谅。一、 FreeRTOS概述。 阅读详情
using System;<br />using System.Security.Cryptography;<br />using System.Text;<br />namespace Utility {<br />      public class PasswordGenerator {<br />            public PasswordGenerator() {<br />                  this.Minimum = DefaultMinimum;<br />                  this.Maximum = DefaultMaximum;<br />                  this.ConsecutiveCharacters = false;<br />                  this.RepeatCharacters = true;<br />                  this.ExcludeSymbols = false;<br />                  this.Exclusions = null;<br />                  rng = new RNGCryptoServiceProvider();<br />            } <br />            protected int GetCryptographicRandomNumber(int lBound, int uBound) {  <br />                  // 假定 lBound &amp;gt;= 0 &amp;amp;&amp;amp; lBound &amp;lt; uBound<br />                  // 返回一个 int &amp;gt;= lBound and &amp;lt; uBound<br />                  uint urndnum;   <br />                  byte[] rndnum = new Byte[4];    <br />                  if (lBound == uBound-1) {<br />                        // 只有iBound返回的情况  <br />                        return lBound;<br />                  }<br />                  uint xcludeRndBase = (uint.MaxValue - (uint.MaxValue&amp;amp;#37;(uint)(uBound-lBound)));   <br />                  do {<br />                        rng.GetBytes(rndnum); <br />                        urndnum = System.BitConverter.ToUInt32(rndnum,0);<br />                  } while (urndnum &amp;gt;= xcludeRndBase); <br />                  return (int)(urndnum &amp;amp;#37; (uBound-lBound)) &amp;amp;#43; lBound;<br />            }<br />            protected char GetRandomCharacter() {<br />                  int upperBound = pwdCharArray.GetUpperBound(0);<br />                  if ( true == this.ExcludeSymbols ) {<br />                        upperBound = PasswordGenerator.UBoundDigit;<br />                  }<br />                  int randomCharPosition = GetCryptographicRandomNumber(pwdCharArray.GetLowerBound(0), upperBound);<br />                  char randomChar = pwdCharArray[randomCharPosition];<br />                  return randomChar;<br />            }  <br />            public string Generate() {<br />                  // 得到minimum 和 maximum 之间随机的长度<br />                  int pwdLength = GetCryptographicRandomNumber(this.Minimum, this.Maximum);<br />                  StringBuilder pwdBuffer = new StringBuilder();<br />                  pwdBuffer.Capacity = this.Maximum;<br />                  // 产生随机字符<br />                  char lastCharacter, nextCharacter;<br />                  // 初始化标记<br />                  lastCharacter = nextCharacter = '/n'; <br />                  for ( int i = 0; i &amp;lt; pwdLength; i&amp;amp;#43;&amp;amp;#43; ) {<br />                        nextCharacter = GetRandomCharacter();<br />                        if ( false == this.ConsecutiveCharacters ) {<br />                              while ( lastCharacter == nextCharacter ) {<br />                                    nextCharacter = GetRandomCharacter();<br />                              }
<br />} if ( false == this.RepeatCharacters ) { string temp =<br />pwdBuffer.ToString(); int duplicateIndex = temp.IndexOf(nextCharacter);<br />while ( -1 != duplicateIndex ) { nextCharacter = GetRandomCharacter();<br />duplicateIndex = temp.IndexOf(nextCharacter); } } if ( ( null !=<br />this.Exclusions ) ) { while ( -1 !=<br />this.Exclusions.IndexOf(nextCharacter) ) { nextCharacter =<br />GetRandomCharacter(); } } pwdBuffer.Append(nextCharacter);<br />lastCharacter = nextCharacter; } if ( null != pwdBuffer ) { return<br />pwdBuffer.ToString(); } else { return String.Empty; } } public bool<br />ConsecutiveCharacters { get { return this.hasConsecutive; } set {<br />this.hasConsecutive = value;} } public bool ExcludeSymbols { get {<br />return this.hasSymbols; } set { this.hasSymbols = value;} } public<br />string Exclusions { get { return this.exclusionSet; } set {<br />this.exclusionSet = value; } } public int Maximum { get { return<br />this.maxSize; } set { this.maxSize = value; if ( this.minSize &amp;gt;=<br />this.maxSize ) { this.maxSize = PasswordGenerator.DefaultMaximum; } } }<br />public int Minimum { get { return this.minSize; } set { this.minSize =<br />value; if ( PasswordGenerator.DefaultMinimum &amp;gt; this.minSize ) {<br />this.minSize = PasswordGenerator.DefaultMinimum; } } } public bool<br />RepeatCharacters { get { return this.hasRepeating; } set {<br />this.hasRepeating = value;} } private const int DefaultMaximum = 10;<br />private const int DefaultMinimum = 6; private const int UBoundDigit =<br />61; private string exclusionSet; private bool hasConsecutive; private<br />bool hasRepeating; private bool hasSymbols; private int maxSize;<br />private int minSize; private char[] pwdCharArray =<br />&quot;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`~!@#$^*()-_=&amp;amp;#43;[]{}//|;:'/&quot;,./&quot;.ToCharArray();<br />private RNGCryptoServiceProvider rng; }<br />}
第八届传智杯微信小程序开发挑战赛练习题库 本文是微信小程序开发练习题库,包含单选题、多选题和判断题三种题型。单选题主要考察小程序开发基础知识,如数组方法、组件使用、API调用等;多选题涵盖样式属性、页面跳转、数据处理等综合知识;判断题则测试开发者对小程序特性、生命周期、功能限制等概念的理解。题目内容涉及小程序开发的各个方面,包括组件使用、API调用、数据绑定、页面配置等核心知识点,适合开发者进行自我测试和知识巩固。 阅读详情

相关推荐

在Unity中为Sentis部署的YOLOv8模型集成NMS层并实现移动端性能优化

本文详细讲解了在Unity中利用Sentis部署YOLOv8模型时,如何通过代码动态集成NMS层以解决移动端性能瓶颈。文章核心在于避免导出时绑定NMS,转而使用Sentis原生API在运行时高效构建NMS处理流程,并分享了关键的GPU数据操作与移动端性能优化技巧,确保模型在移动设备上流畅运行。

p1q2r的博客 1094

浅析ASP.NET生成随机密码

在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再用收到的密码来激活其帐户。实现ASP.NET生成随机密码功能是很容易的,下面的代码给出了完整的实现方法:publicstaticstringMakePassword(stringpwdchars,intpwdlen){ stringtmps

370

2025年有道翻译网页版JS逆向实战:从抓包到AES解密,手把手教你搞定sign签名

本文详细解析2025年有道翻译网页版的JS逆向实战,从抓包分析到AES解密全流程。通过实战演示签名生成机制和AES-CBC解密技术,帮助开发者破解有道翻译的反爬系统,实现高效数据获取。重点涵盖动态密钥处理、错误重试机制及反反爬策略,为开发者提供完整的技术解决方案。

weixin_30379531的博客 505

ASP.NET 随机密码生成

QQ:285679784 欢迎加入博主优快云资源QQ群799473954(附加信息:优快云博客)一起学习 ! 前端aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CreateRandom.aspx.cs" Inherits="AspNetWebSocket.CreateRandom" Val...

ASP.NET 978

WSL2+Ubuntu20.04纯root环境搭建指南:告别权限烦恼的终极方案

本文提供了一份详细的WSL2+Ubuntu20.04纯root环境搭建指南,旨在为本地开发与学习打造一个免去权限干扰、极致流畅的Linux子系统环境。通过启用WSL2、安装Ubuntu 20.04,并执行核心的root用户设置,开发者可以彻底告别频繁的sudo操作,提升在文件操作、容器调试和系统配置等方面的效率。

time3的博客 474

DC-DC电源PCB布局实战:从EMI优化到热管理

本文深入探讨了DC-DC电源PCB布局的核心实战技巧。文章从分析电流环路入手,强调通过优化“黄金三角”布局以最小化环路面积,从而有效抑制EMI并提升效率。详细阐述了功率器件摆放、地线分割、敏感信号布线、电感下方铺铜策略以及热管理设计等关键步骤,为工程师提供了一套从理论到实践的完整布局指南。

z5a6b的博客 721

在asp.net中生成16位随机密码

Response.Write(System.Guid.NewGuid().ToString().Substring(0,16)); 转载于:https://www.cnblogs.com/hakuci/archive/2008/03/20/1114530.html

weixin_30399821的博客 383

利用eds editor生成CANOPEN 设备eds文件

通过以上步骤,您可以根据实际设备的功能特性,自动生成一份符合CANopen协议标准的电子数据表(EDS文件),该文件可以被上位机软件或其他CANopen主站设备用于识别、配置和控制您的CANopen从站设备。使用CANopen EDS Editor生成CANOPEN设备的EDS文件是一个系统化的过程,它涉及将设备的具体技术参数和功能映射到CANopen规范定义的对象字典中。

weixin_38604759的博客 6458

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

///  /// C#中随机生成指定长度的密码/// private static string MakePassword(int pwdLength)     {     //声明要返回的字符串     string tmpstr = "";      //密码中包含的字符数组     string pwdchars="abcdefghijklmnopqrstuv

iamdll的专栏 5968

YOLOv11改进策略【损失函数篇】| WIoU v3:针对低质量样本的边界框回归损失函数

是一种基于IoU的损失函数,旨在解决目标检测中边界框回归损失函数在处理低质量训练数据时的问题。论文链接:https://arxiv.org/pdf/2301.10051 源码链接:https://github.com/Instinct323/wiou此处需要查看的文件是中定义了模型的损失函数和计算方法,我们想要加入新的损失函数就只需要将代码放到这个文件内即可将下方的函数替换原本的函数即可: 用于计算各种损失。在内修改如下代码,使模型调用此损失函数。 tal.py中是一些损失函数的功能应用。在内修改如下代码,

Limiiiing的博客 3797

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟卷1及答案解析)

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项初赛模拟卷1及答案解析)

王老师青少年编程 2023

ASP.NET生成随机密码功能

<br />using System;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br />namespace StructParameter<br />{<br />    class Program<br />    {<br />        static void Main(string[] args)<br />        {<br />           

___ 、努ㄌ 514

YOLOv11改进策略【卷积层】| ICCV-2023 引入Dynamic Snake Convolution动态蛇形卷积,改进C3k2

基于拓扑几何约束的动态蛇卷积用于管状结构分割DSConv(Dynamic Snake Convolution,动态蛇形卷积)模块的设计主要是为了更好地处理管状结构的分割任务,解决传统卷积在处理细管状结构时的不足。

Limiiiing的博客 1629

c语言随机产生大写字母,随机生成指定长度字符字符串(C语言实现)

相关函数srand(), rand()头文件#include定义函数int rand(void)函数说明rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。返回值返回0至RAND_MAX之间的随机数值,RAND_MAX定义在...

weixin_42396174的博客 2024

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ASP.NET中的随机密码生成

 ASP.NET中的随机密码生成  在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再用收到的密码来激活其帐户。   在 ASP.NET 中,实现随机密码生成功能是很容易的,下面的代码给出了完整的实现方法: public static string MakePassword(string

Devaz的空间 663

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ASP.NET MVC生成随机验证码

ASP.NET MVC生成随机验证码 在ASP.NET MVC项目中验证码验证是缺少不了的,下面我们来了解项目生成验证码的流程和操作。 首先我们生成一个实体类里面放置着封装好的一些随机生成验证码的方法: 代码如下: public static class ValidCodeUtils { /// <summary> ///...

weixin_44539055的博客 949

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

三个随机产生密码的存储过程

协助一个朋友做一个小网站,其中一个功能,是让用户注册成功之后,系统将随机产生一个登录密码,并自动发送至注册邮箱中,朋友的做法是为了用户使用真实邮箱。 随机产生密码,Insus.NET总结了三个,并分别写成了存储过程。 第一个, usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] (   @Length INT ...

weixin_34367257的博客 158

在ASP.NET MVC应用程序中随机获取一个字符串

在开发ASP.NET MVC应用程序时,有可能需要一个随机字符串,作为密码或是验证码等。 如果你需要的是SQL版本,可以参考《密码需要带特殊字符(二)》http://www.cnblogs.com/insus/archive/2012/02/16/2354453.html  此篇实现方法多少是参照这个实现C#版本。 在应用程序下,创建一个CharacterUtility.cs:   ...

weixin_34100227的博客 106

随机字符串生成工具:从基础原理到高性能安全实现

随机字符串生成是软件开发中的基础功能,其核心原理基于伪随机数生成器(PRNG)和密码学安全伪随机数生成器(CSPRNG)技术。PRNG通过确定性算法生成看似随机的序列,适用于模拟、游戏等场景;而CSPRNG则依赖系统熵源(如硬件噪声),提供不可预测性,满足安全敏感场景需求。在工程实践中,高性能实现需考虑字符集管理、内存分配优化和线程安全设计,例如使用ThreadLocalRandom避免竞争、预转换字符集数组提升访问效率。这些技术广泛应用于用户凭证生成、会话令牌创建、测试数据构造等场景。本文深入探讨如何构建

weixin_30702441的博客 232
上一篇: C#.NET 中的类型转换
下一篇: C#中字符串的加密
胡万山
博客等级 码龄19年 34粉丝 19原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值