Beispiel #1
0
 public static byte[] Compute(this Hashs hash, Stream array)
 {
     using (var h = hash.Create())
     {
         return(h.ComputeHash(array));
     }
 }
Beispiel #2
0
 public byte[] GetArray(Hashs hashName, byte[] bytes)
 {
     if (stoping)
     {
         stoping = false;
     }
     byte[] array = hashName.Compute(bytes);
     return(array);
 }
Beispiel #3
0
        public byte[] GetArray(Hashs hashName, Stream stream)
        {
            if (stoping)
            {
                stoping = false;
            }
            byte[] array = hashName.Compute(stream);

            return(array);
        }
Beispiel #4
0
        public async Task <string> GetStringFromFileAsync(Hashs hashName, string filePath)
        {
            byte[] array = null;
            using (FileStream stream = File.Open(filePath, FileMode.Open))
            {
                array = await GetArrayAsync(hashName, stream);
            }

            return(string.Join(HexStringSeparator, array.Select(p => p.ToString(HexStringFormat))));
        }
Beispiel #5
0
        public string GetStringFromFile(Hashs hashName, string filePath)
        {
            byte[] array;
            using (FileStream stream = File.Open(filePath, FileMode.Open))
            {
                array = GetArray(hashName, stream);
            }

            return(string.Join(HexStringSeparator, array.Select(p => p.ToString(HexStringFormat))));
        }
Beispiel #6
0
        public async Task <byte[]> GetArrayAsync(Hashs hashName, Stream stream)
        {
            if (stoping)
            {
                stoping = false;
            }
            byte[] array = null;
            await Task.Run(() =>
            {
                array = hashName.Compute(stream);
            });

            return(array);
        }
Beispiel #7
0
        /// <summary>
        /// Repleace username and password account in source whit Varible seeting in config
        /// </summary>
        /// <param name="ac">Account for replace in source.</param>
        /// <param name="config">Config for Request.</param>
        /// <param name="source">The base text for replace account into it.</param>
        public string ReplaceAccount(Account ac, string source, Config config)
        {
            logger.AddMessage("Account:\nUsername="******"\nPassword="******"\nHit=" + ac.Hit + "\nCapture=" + ac.Capture, Log.Type.OutPut);

            if (config.Varible.Count != 0)
            {
                foreach (HashType Item in config.Varible)
                {
                    switch (Item)
                    {
                    case HashType.MD5:
                        ac.Password = Hashs.MD5(ac.Password);
                        logger.AddMessage("Password changed to MD5 : " + ac.Password, Log.Type.Infomation);
                        break;

                    case HashType.SHA1:
                        ac.Password = Hashs.SHA1(ac.Password);
                        logger.AddMessage("Password changed to SHA1 : " + ac.Password, Log.Type.Infomation);
                        break;

                    case HashType.SHA256:
                        ac.Password = Hashs.SHA256(ac.Password);
                        logger.AddMessage("Password changed to SHA256 : " + ac.Password, Log.Type.Infomation);
                        break;

                    case HashType.SHA512:
                        ac.Password = Hashs.SHA512(ac.Password);
                        logger.AddMessage("Password changed to SHA512 : " + ac.Password, Log.Type.Infomation);
                        break;

                    case HashType.Base64:
                        ac.Password = Hashs.StringToBase64(ac.Password);
                        logger.AddMessage("Password changed to Base64 : " + ac.Password, Log.Type.Infomation);
                        break;
                    }
                }
            }
            try {
                string[] userpass = config.DataSet.Split('*');
                source = source.Replace(userpass[0], ac.Username).Replace(userpass[1], ac.Password);
            }
            catch (Exception ex) { logger.AddMessage("Error: " + ex.Message, Log.Type.Error); }
            logger.AddMessage("OutPut Source: " + source, Log.Type.OutPut);
            return(source);
        }
Beispiel #8
0
        static void Main(string[] args)
        {
            const string password = "******";

            byte[] salt = Hashs.GenerateSalt();

            Console.WriteLine($"Password: { password }");
            Console.WriteLine($"Salt: { Convert.ToBase64String(salt) }");
            Console.WriteLine();

            // salt + password
            var hashedPassword1 = Hashs.HashPasswordWithSalt(
                Encoding.UTF8.GetBytes(password),
                salt
                );

            // show the password with salt
            Console.WriteLine($"Password with salt: { Convert.ToBase64String(hashedPassword1) }");
            Console.WriteLine();
            Console.ReadKey();
        }
Beispiel #9
0
 public static HashAlgorithm Create(this Hashs hash)
 {
     return(HashAlgorithm.Create(hash.ToString()));
 }
Beispiel #10
0
        public async Task <string> GetStringAsync(Hashs hashName, string content)
        {
            byte[] array = await GetArrayAsync(hashName, StringEncoding.GetBytes(content));

            return(string.Join(HexStringSeparator, array.Select(p => p.ToString(HexStringFormat))));
        }
Beispiel #11
0
 public string GetString(Hashs hashName, string content)
 {
     byte[] array = GetArray(hashName, StringEncoding.GetBytes(content));
     return(string.Join(HexStringSeparator, array.Select(p => p.ToString(HexStringFormat))));
 }
Beispiel #12
0
        public string GetString(Hashs hashName, Stream stream)
        {
            byte[] array = GetArray(hashName, stream);

            return(string.Join(HexStringSeparator, array.Select(p => p.ToString(HexStringFormat))));
        }
Beispiel #13
0
 public static int ComposedHashCode <T>(this IEnumerable <T> objs)
 {
     return(Hashs.ComposedHashCode(objs.Cast <object>().ToArray()));
 }