public override Wallet GetNextKey()
        {
            byte[] data = new byte[1];
            this.rg.GetBytes(data);
            if (data[0] > (byte)127 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                return(Wallet.Generate(false));
            }
            string randomPass = PassPhraseGen.GetRandomPass();

            if (randomPass != null)
            {
                return(Wallet.Generate(randomPass.Trim(), false));
            }
            return(Wallet.Generate(true));
        }
Beispiel #2
0
        public static string GetRandomPass()
        {
            if (PassPhraseGen.config == PassPhraseGen.Config.TrueRandom)
            {
                return((string)null);
            }
            if (PassPhraseGen.rand.Next(1000) > 900 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                PassPhraseGen.emails.GetNextEmail();
            }
            string randomPassBase = PassPhraseGen.GetRandomPassBase();

            if (PassPhraseGen.rand.Next(1000) > 990 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                return(PassPhraseGen.ConvertL337(randomPassBase));
            }
            if (PassPhraseGen.rand.Next(1000) > 990 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                return(new string(randomPassBase.Reverse <char>().ToArray <char>()));
            }
            return(randomPassBase);
        }
Beispiel #3
0
        private static string GetRandomPassBase()
        {
            ++PassPhraseGen.counter;
            if (PassPhraseGen.counter % 5000 == 0)
            {
                int      num1   = Hex.ToString(Sha256Manager.GetHash(Secp256K1Manager.GenerateRandomKey())).GetHashCode() + DateTime.UtcNow.Millisecond;
                DateTime utcNow = DateTime.UtcNow;
                int      second = utcNow.Second;
                int      num2   = num1 + second;
                utcNow = DateTime.UtcNow;
                int minute = utcNow.Minute;
                PassPhraseGen.rand = new Random(num2 + minute);
            }
            if (PassPhraseGen.rand.Next(1000) > 970 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                return(PassPhraseGen.GetUnderscoringPass());
            }
            if (PassPhraseGen.rand.Next(1000) > 990 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                return(PassPhraseGen.GetRepetitionPass());
            }
            if (PassPhraseGen.rand.Next(1000) > 975 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                return(PassPhraseGen.GetPhonePass());
            }
            if (PassPhraseGen.rand.Next(1000) > 985 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                return(PassPhraseGen.GetAlphaNumPass());
            }
            if (PassPhraseGen.rand.Next(1000) > 950 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                if (PassPhraseGen.rand.Next(1000) > 900)
                {
                    return(new string("!@#$%^&*()_=+-[]\\/{},.<>~`'\"abcdefghijlkmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890"[PassPhraseGen.rand.Next("!@#$%^&*()_=+-[]\\/{},.<>~`'\"abcdefghijlkmopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890".Length)], PassPhraseGen.rand.Next(1, 100)));
                }
                return(string.Concat((object)PassPhraseGen.rand.Next(20183131)));
            }
            if (PassPhraseGen.rand.Next(1000) > 980 && PassPhraseGen.config != PassPhraseGen.Config.AllBots)
            {
                return(PassPhraseGen.GetProlongationPass());
            }
            if ((PassPhraseGen.config == PassPhraseGen.Config.Classic || PassPhraseGen.config == PassPhraseGen.Config.AllBots) && PassPhraseGen.rand.Next(1000) > 980)
            {
                return(PassPhraseGen.GetCulturePass());
            }
            if ((PassPhraseGen.config == PassPhraseGen.Config.Classic || PassPhraseGen.config == PassPhraseGen.Config.UniquePhrases) && PassPhraseGen.rand.Next(1000) > 800)
            {
                return(PassPhraseGen.GetNamePass());
            }
            int length = PassPhraseGen.rand.Next(1, 60) / 5;

            if (length == 0)
            {
                length = 1;
            }
            if (PassPhraseGen.rand.Next(100) > 20 && length > 2)
            {
                length = 2;
            }
            if (PassPhraseGen.rand.Next(100) > 20 && length > 3)
            {
                length = 3;
            }
            if (PassPhraseGen.rand.Next(100) > 80)
            {
                length = 1;
            }
            if (PassPhraseGen.config != PassPhraseGen.Config.AllBots && PassPhraseGen.config != PassPhraseGen.Config.Classic && length < 2)
            {
                length = 2;
            }
            if (PassPhraseGen.config == PassPhraseGen.Config.AllBots)
            {
                length = 1;
            }
            bool flag1 = PassPhraseGen.rand.Next(100) > 50;
            bool flag2 = PassPhraseGen.rand.Next(100) > 95;
            bool flag3 = PassPhraseGen.rand.Next(100) > 75;
            bool flag4 = PassPhraseGen.rand.Next(100) > 90;
            bool flag5 = PassPhraseGen.rand.Next(100) > 50;
            bool flag6 = PassPhraseGen.rand.Next(100) > 50;
            bool flag7 = PassPhraseGen.rand.Next(100) > 95;

            string[] strArray = new string[length];
            for (int index = 0; index < length; ++index)
            {
                strArray[index] = PassPhraseGen.rand.Next(100) <= 85 || PassPhraseGen.config == PassPhraseGen.Config.AllBots ? PassPhraseGen.words[PassPhraseGen.rand.Next(PassPhraseGen.words.Length)] : PassPhraseGen.GetGibberishPass();
                if (flag7)
                {
                    strArray[index] = strArray[index].ToLower();
                    strArray[index] = strArray[index][0].ToString().ToUpper() + strArray[index].Substring(1);
                }
            }
            string s = string.Join(flag1 ? "" : " ", strArray);

            if (!flag7 & flag3)
            {
                s = s.ToLower();
            }
            if (!flag7 & flag2)
            {
                s = s.ToUpper();
            }
            if ((uint)PassPhraseGen.config > 0U & flag4)
            {
                s = !flag5 ? (!flag6 ? Hex.ToString(Encoding.UTF8.GetBytes(s)) : Hex.ToString(Sha256Manager.GetHash(Sha256Manager.GetHash(Encoding.UTF8.GetBytes(s))))) : Hex.ToString(Sha256Manager.GetHash(Encoding.UTF8.GetBytes(s)));
            }
            else if (length <= 2 && PassPhraseGen.config != PassPhraseGen.Config.AllBots && PassPhraseGen.rand.Next(100) > 95)
            {
                int num = PassPhraseGen.rand.Next(PassPhraseGen.rand.Next(100) > 75 ? 2020 : 99);
                s += (string)(object)num;
            }
            return(s);
        }