DamSi

Untitled

Mar 8th, 2015
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.70 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Lab1_8
  8. {
  9.     /*
  10.       ** author: Damjan Miloshevski
  11.       ** contact: [email protected];
  12.       ** skype: damjan.milosevski
  13.       ** phone: +38978566409;
  14.       ** web: https://www.facebook.com/damjan.miloshevski
  15.               http://miloshevski.us.to/
  16.     */
  17.  
  18.     class Program
  19.     {
  20.         public enum PasswordStrength
  21.         {
  22.             Easy,
  23.             Normal,
  24.             Hard
  25.         }
  26.         static string generatePassword(PasswordStrength passwordStrenght, string unsecurePassword)
  27.         {
  28.             // easy lozinkata treba da ima do 6 znaci ( samo mali bukvi )
  29.             // normal lozinkata treba da ima od 6 do 10 znaci (da sodrzhi golemi bukvi i
  30.             // brojki
  31.             // hard loznikata treba da ima povekje od 10 znaci i da sodrzhi mali , golemi
  32.             // bukvi i specijalni znaci
  33.             StringBuilder password = new StringBuilder();
  34.             Random rand = new Random();
  35.             const string SpecialCharacters = "!@#$%^&*()";
  36.  
  37.             if (passwordStrenght == PasswordStrength.Easy)
  38.             {
  39.                 int length = rand.Next(3, 6);
  40.                 for (int i = 0; i < length; i++)
  41.                 {
  42.                     char c = new Char();
  43.                     c = unsecurePassword[rand.Next(unsecurePassword.Length)];
  44.                     password.Append(((rand.Next(32) % 2 == 0) && (Char.IsLower(c))) ? c : Char.ToUpper(c));
  45.                 }
  46.             }
  47.             else if (passwordStrenght == PasswordStrength.Normal)
  48.             {
  49.                 int length = rand.Next(6, 10);
  50.                 for (int i = 0; i < length; i++)
  51.                 {
  52.                     char c = new Char();
  53.                     c = unsecurePassword[rand.Next(unsecurePassword.Length)];
  54.                     if ((rand.Next(32) % 2 == 0) && (Char.IsLower(c)))
  55.                     {
  56.                         password.Append(Char.ToUpper(c));
  57.                     }
  58.                     else {
  59.                         password.Append(c);
  60.                     }
  61.                 }
  62.             }
  63.            
  64.             else
  65.             {
  66.                 int length = rand.Next(10, 15);
  67.                 for (int i = 0; i < length; i++)
  68.                 {
  69.                     if (i % 2 == 0)
  70.                     {
  71.                         password.Append(SpecialCharacters[rand.Next(SpecialCharacters.Length)]);
  72.                         // nekoja logika pak, za generirranje na znak od const nizata gore
  73.                     }
  74.                     else
  75.                     {
  76.                         char c = new Char();
  77.                         c = unsecurePassword[rand.Next(unsecurePassword.Length)];
  78.                         password.Append(((rand.Next(32) % 2 == 0) && (Char.IsLower(c))) ? c : Char.ToUpper(c));
  79.                         // nekoja moja logika za generiranje na random mala ili golema    
  80.                     }
  81.                 }
  82.             }
  83.             return password.ToString();
  84.         }
  85.         static void Main(string[] args)
  86.         {
  87.             string passLine = " lozinka1 test2 pogodok ";
  88.             Console.ReadLine();
  89.             char[] delimiter = { ' ' };
  90.             string[] parts = passLine.Split(delimiter);
  91.  
  92.             PasswordStrength e = PasswordStrength.Hard;  //Lesno, Normalno ili Tesko ???
  93.  
  94.             foreach (string unsecurePass in parts)
  95.             {
  96.                 Console.Out.WriteLine(String.Format("Generirana lozinka za \"{0}\" e slednata: {1}", unsecurePass, generatePassword(e, unsecurePass)));
  97.             }
  98.             Console.ReadKey();
  99.         }
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment