jjzjj

c# - RandomNumberGenerator 与 RNGCryptoServiceProvider

根据RandomNumberGenerator的MSDN文档:Applicationcodedoesnotdirectlyusethisclass.Thisabstractclassisprovidedasthebaseclassforallcryptographicrandomnumbergenerators.Foranimplementationofacryptographicrandomnumbergenerator,usethederivedclassRNGCryptoServiceProvider.但是,我在不同的代码库中看到了以下代码在一些场合的使用:byte[]bytes

c# - 获取随机颜色

这个问题在这里已经有了答案:HowtogeneraterandomcolornamesinC#(16个答案)关闭7年前。您知道生成随机颜色(不是随机颜色名称!)的方法吗?我已经有了一个,但是这个做的不正确:这只返回绿色:Randomr=newRandom();BackColor=Color.FromArgb(r.Next(0,256),r.Next(0,256),0);这只返回红色:Randomr=newRandom();BackColor=Color.FromArgb(r.Next(0,256),0,0);这只返回蓝色:Randomr=newRandom();BackColor=Co

c# - ASP.NET 标识 : Generate random password

是否有创建随secret码的内置函数?Asp.netsimplemembership曾经有类似的方法 最佳答案 虽然我来晚了一点,但我想分享我放在一起以ASP.NETCore兼容的方式处理此类场景的辅助方法。下面的函数确保了适当的字符分布,在字符串中随机添加所需的字符类型并且不改变所需的长度(除非具有大量所需的唯一字符的边缘情况,这是设计的意思)。它还支持RequiredUniqueChars规则,这是ASP.NETCoreIdentity框架可用的强度要求之一。//////GeneratesaRandomPassword///re

c# - 来自种子的随机数

我有一个应用程序,如果我的程序使用具有基于其种子的模式的RNG,它会变得非常引人注目,因为它会根据景观的x坐标构建景观。如果您每次都调用Next(),Random效果很好,但每次使用相同的输入时我都需要能够获得相同的输出,因此可以'依赖Next()。相反,我尝试每次使用输入种子简单地创建一个新的Random。这不是个好主意,我知道,事实证明了。模式非常明显,高值和低值交替出现,整个景观的整体趋势明显。我不想每次都制作新的生成器,但即便如此,我还是研究了加密安全的RandomNumberGenerator看看我是否至少可以暂时使用它。不过,正如预期的那样,我无法为它播种,因此没有任何可重

c# - c#生成一系列加起来为N的随机数

如何在C#中生成30个1-9之间的随机数,所有这些数加起来等于200(或任意N)?我正在尝试生成一串可以加在一起为N的数字。 最佳答案 我不确定这方面的统计数据是什么,但是,这里的问题是您不想随机选择一个数字,这使得无法通过超调或欠调将N与M个条目相加。以下是我的做法:staticvoidMain(){intcount=30;int[]numbers=getNumbers(count,155);for(intindex=0;indextotal||UPPERBOUNDUPPERBOUND?UPPERBOUND:calc;result

c# - Random(int seed) 保证什么?

我正在从事一个项目,该项目依赖于为用户随机分配(没什么花哨的,只是统一的)更大集合的子集。每个用户都有一个从集契约(Contract)构到整数的唯一标识符。据我所知,有两种方法可以做到这一点。在用户和上述较大集合的键控元素之间创建一个数据库连接表,每个用户使用一些函数。这对我的需求来说可能有点不切实际,所以我宁愿做...在运行时通过类似的函数确定子集,但使用唯一的用户ID作为种子值,并且只将集合保存在内存中。下次需要时,它会从更大的集合中再次创建。所以我的问题是,如果我使用.NETRandom对象创建第二个使用user-id作为种子值的函数,Microsoft是否保证以后不会更改Ran

c# - 从目录中选择随机文件

我在C#中看过一些示例,但到目前为止还没有,在目录下选择随机文件的最佳方法是什么?在这种特殊情况下,我想每隔15分钟左右从“C:\wallpapers”中选择一张墙纸。谢谢。 最佳答案 获取数组中的所有文件,然后随机取一个varrand=newRandom();varfiles=Directory.GetFiles("c:\\wallpapers","*.jpg");returnfiles[rand.Next(files.Length)]; 关于c#-从目录中选择随机文件,我们在Stac

c# - 选择随机字符

我有一些字符:chars="$%#@!*abcdefghijklmnopqrstuvwxyz1234567890?;:ABCDEFGHIJKLMNOPQRSTUVWXYZ^&".ToCharArray();现在我正在寻找一种从这些中返回随机字符的方法。我找到了一个可能有用的代码:staticRandomrandom=newRandom();publicstaticcharGetLetter(){//Thismethodreturnsarandomlowercaseletter//...Between'a'and'z'inclusize.intnum=random.Next(0,26);

c# - 创建一个真正的随机

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whydoesitappearthatmyrandomnumbergeneratorisn'trandominC#?HowcanIgeneratetruly(notpseudo)randomnumberswithC#?我创建了一个骰子游戏,其中的骰子基于百分位数,1-100。publicstaticvoidRoll(){Randomrand=newRandom((int)DateTime.Now.Ticks);returnrand.Next(1,100);}但我不觉得它是基于当前时间的真正随机数。如果我这样做

c# - 你如何在C#中获得随机的当前种子?

在我的游戏中,我将使用随机值来选择玩家从宝箱中获得的奖励。问题是您可以快速保存和快速加载,这意味着他们可以不断重新加载以重新随机化,直到他们得到他们想要的东西。有没有什么方法可以获取我的Random对象的当前种子值,并可能在它们加载时返回到同一点,这样它们就不会滥用随机化? 最佳答案 这是不可能的。相反,您可以使用二进制序列化来序列化Random实例。Random是[Serializable],种子和内部状态将持续存在。但是请注意,保存随机种子可以让您的玩家预测future,如果您允许在战斗中保存,这将非常有用。另请注意,用户仍然可