From 7e2a8dbd051b94115672cf22cc66ef09ba8376ca Mon Sep 17 00:00:00 2001 From: marcinzelent Date: Sat, 17 Mar 2018 15:30:15 +0100 Subject: .NET Core is cool! --- .../PasswordCrackerServer/PasswordFileHandler.cs | 79 ---------------------- 1 file changed, 79 deletions(-) delete mode 100644 PasswordCrackerDistributed/PasswordCrackerServer/PasswordFileHandler.cs (limited to 'PasswordCrackerDistributed/PasswordCrackerServer/PasswordFileHandler.cs') diff --git a/PasswordCrackerDistributed/PasswordCrackerServer/PasswordFileHandler.cs b/PasswordCrackerDistributed/PasswordCrackerServer/PasswordFileHandler.cs deleted file mode 100644 index 8c0780c..0000000 --- a/PasswordCrackerDistributed/PasswordCrackerServer/PasswordFileHandler.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Security.Cryptography; - -namespace PasswordCrackerServer -{ - class PasswordFileHandler - { - private static readonly Converter Converter = CharToByte; - - /// - /// With this method you can make you own password file - /// - /// Name of password file - /// List of usernames - /// List of passwords in clear text - /// if usernames and passwords have different lengths - public static void WritePasswordFile(String filename, String[] usernames, String[] passwords) - { - HashAlgorithm messageDigest = new SHA1CryptoServiceProvider(); - if (usernames.Length != passwords.Length) - { - throw new ArgumentException("usernames and passwords must be same lengths"); - } - using (FileStream fs = new FileStream(filename, FileMode.CreateNew, FileAccess.Write)) - using (StreamWriter sw = new StreamWriter(fs)) - { - for (int i = 0; i < usernames.Length; i++) - { - byte[] passwordAsBytes = Array.ConvertAll(passwords[i].ToCharArray(), GetConverter()); - byte[] encryptedPassword = messageDigest.ComputeHash(passwordAsBytes); - String line = usernames[i] + ":" + Convert.ToBase64String(encryptedPassword) + "\n"; - sw.WriteLine(line); - } - } - } - - /// - /// Reads all the username + encrypted password from the password file - /// - /// the name of the password file - /// A list of (username, encrypted password) pairs - public static List ReadPasswordFile(String filename) - { - List result = new List(); - - FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read); - using (StreamReader sr = new StreamReader(fs)) - { - - while (!sr.EndOfStream) - { - String line = sr.ReadLine(); - String[] parts = line.Split(":".ToCharArray()); - UserInfo userInfo = new UserInfo(parts[0], parts[1]); - result.Add(userInfo); - } - return result; - } - } - - public static Converter GetConverter() - { - return Converter; - } - - /// - /// Converting a char to a byte can be done in many ways. - /// This is one way ... - /// - /// - /// - private static byte CharToByte(char ch) - { - return Convert.ToByte(ch); - } - } -} \ No newline at end of file -- cgit v1.2.3