<< | к задаче | главная | печатать | обсудить(0 сообщений) >>
Задача: Простой генератор случайных чисел
Исходник: Простой генератор случайных чисел и паролей [C#, code #659, hits: 6977, рейтинг: 3/7,4.99(1355)] +
аноним: olmovc [добавлен: 31.08.2013] управление:
  1. using System;
  2. using System.Security.Cryptography;
  3. namespace GenPassword
  4. {
  5. class Program
  6. {
  7. public static void Main(string[] args)
  8. {
  9. int len = 15;
  10. Console.WriteLine("Password Length:{0}\nRandom Password:{1}",len,GetPassword(len));
  11. Console.WriteLine("RamdomInt Length:{0}\nRandom Int:",len);
  12. foreach (int i in GetRandomInt(len))
  13. Console.Write(i);
  14.  
  15. Console.Write("\n\nPress any key to continue . . . ");
  16. Console.ReadKey(true);
  17. }
  18. public static string GetPassword(int passwordlen)
  19. {
  20. string password = string.Empty;
  21. if ((passwordlen < 1)||(passwordlen>18))
  22. passwordlen = 8;
  23. byte[] randombyte = new Byte[1];
  24. int count = 0;
  25. RNGCryptoServiceProvider rng;
  26. char ch = '\0';
  27. while (count < passwordlen)
  28. {
  29. //RNGCryptoServiceProvider is an implementation of a random number generator.
  30. rng = new RNGCryptoServiceProvider();
  31. rng.GetBytes(randombyte); // The array is now filled with cryptographically strong random bytes.
  32. ch = Convert.ToChar(randombyte[0]);
  33. if ((ch > '!')&&(ch <= '~'))
  34. {
  35. password += ch.ToString();
  36. count++;
  37. }
  38. }
  39. return password;
  40. }
  41.  
  42. public static int[] GetRandomInt(int intlen)
  43. {
  44. if ((intlen < 1)||(intlen>18))
  45. intlen = 8;
  46. int[] randomInt = new Int32[intlen];
  47. byte[] randombyte = new Byte[1];
  48. int count = 0;
  49. RNGCryptoServiceProvider rng;
  50. char ch = '\0';
  51. int tempint = 0;
  52. while (count < intlen)
  53. {
  54. //RNGCryptoServiceProvider is an implementation of a random number generator.
  55. rng = new RNGCryptoServiceProvider();
  56. rng.GetBytes(randombyte); // The array is now filled with cryptographically strong random bytes.
  57. ch = Convert.ToChar(randombyte[0]);
  58. if ((ch >= '0')&&(ch <= '9'))
  59. {
  60. if (Int32.TryParse(ch.ToString(),out tempint))
  61. {
  62. randomInt[count] = tempint;
  63. count++;
  64. }
  65. }
  66. }
  67. return randomInt;
  68. }
  69. }
  70. }
Простой генератор случайных чисел и паролей C#

+добавить реализацию
 
каталог | задачи | паттерны | исходники | стат | форумы | карта сайта | контакты | ссылки 
© 2000-2017 CodeLAB Group
  Все права защищены
Страница сгенерирована за 0.014155 секунд
Количество запросов к БД: 9, gzip: 6.9kb/29.7kb(77%)