public PasswordInfo(string password)
        {
            this.OriginalPassword = password;
            this.Characters       = new IndexedPasswordChar[password.Length];

            for (int i = 0; i < password.Length; i++)
            {
                Characters[i] = new IndexedPasswordChar(password[i], i);
            }
        }
            public override bool Equals(object obj)
            {
                if (!(obj is IndexedPasswordChar))
                {
                    return(false);
                }

                IndexedPasswordChar otherObj = (IndexedPasswordChar)obj;

                if (otherObj.Index == this.Index && otherObj.Character == this.Character)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }