我目前正在编写一个简单的密码生成器(C#)。为此我需要一些随机数。
是否可以简单地使用Random http://msdn.microsoft.com/en-us/library/system.random.aspx.NET 附带的类或者是否存在任何已知问题?
它没有什么问题——它足以生成简单的密码。一个简单的例子(source https://web.archive.org/web/20110926062531/http://authors.aspalliance.com:80/brettb/RandomNumbersInCSharp.asp):
Random RandomClass = new Random();
int RandomNumber = RandomClass.Next(); // Random number between 1 and 2147483647
double RandomNumber = RandomClass.Next(1,10); // Random number between 1 and 10
double RandomDouble = RandomClass.NextDouble(); // Random double between 0.0 and 1.0
文章如何:生成随机密码 (C#/VB.NET) https://web.archive.org/web/20190315160013/http://www.obviex.com:80/samples/password.aspx有一个非常全面的示例,可以生成具有指定复杂性的良好、易于阅读的密码。这对你来说可能有点大材小用,但它可能提供一个很好的来源来复制想法。
如果您需要更多的加密技术,还有另一个命名空间:
System.Security.Cryptography
具体来说,你可以使用这个:
System.Security.Cryptography.RNGCryptoServiceProvider.GetBytes(yourByte)
一个例子是在 VB.NET 中使用加密作为随机数 https://web.archive.org/web/20170919103531/http://geekswithblogs.net/cwilliams/archive/2005/10/16/57141.aspx,另一个是加密随机数 https://web.archive.org/web/20110828061505/http://weblogs.asp.net:80/dbright/archive/2003/10/16/32305.aspx.
如果您正在考虑自己推出该网站开发者指导分享 https://www.guidanceshare.com/wiki/.NET_Framework_2.0_Security_Inspection_Questions_-_Cryptography有一些信息可以说服你放弃它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)