C# 生成随机字符串
以某个字符串中的随机字符组成一定长度下的随机字符串
using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace ConsoleApp3 { class Program { static void Main(string[] args) { string retStr1; string retStr2; retStr1 = GetRandomString1("Hello World", 20); retStr2 = GetRandomString2("Hello World", 20); Console.WriteLine(retStr1); Console.WriteLine(retStr2); Console.ReadKey(); } //以chars中的字符生成length长度的随机字符串 //RNGCryptoServiceProvider为例 public static string GetRandomString1(string chars, int length) { StringBuilder sb = new StringBuilder(); RNGCryptoServiceProvider rnd = new RNGCryptoServiceProvider(); byte[] ary = new byte[8]; for (int index = 0; index < length; index++) //密码长度为循环次数 { rnd.GetBytes(ary); sb.Append(chars[(int)Math.Round(Math.Abs(BitConverter.ToInt64(ary, 0)) / (decimal)long.MaxValue * (chars.Length - 1), 0)]); } return sb.ToString(); } //以chars中的字符生成length长度的随机字符串 //Random为例 public static string GetRandomString2(string chars, int length) { int charIndex; Random rnd = new Random(); StringBuilder sb = new StringBuilder(); for (int index = 0; index < length; index++) //密码长度为循环次数 { charIndex = rnd.Next(chars.Length); sb.Append(chars[charIndex]); } return sb.ToString(); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!