示例#1
0
        public void ValidTest()
        {
            var enc = MachineCrypto.Encode("asdf");
            var dec = MachineCrypto.ValidatedDecode(enc);

            Assert.AreEqual("asdf", dec);
        }
示例#2
0
        public void InvalidTest()
        {
            var enc = MachineCrypto.Encode("asdf");

            enc = (char)(enc[0] + 1) + enc.Substring(1);
            var decRaw = MachineCrypto.ValidatedDecode(enc);

            Assert.IsNull(decRaw);
        }
示例#3
0
        /// <summary>
        /// Saves the <see cref="ClientSettings"/> related to this screen.
        /// </summary>
        void SaveScreenSettings()
        {
            ClientSettings.Default.UI_EnteredUserName = _cNameText.Text;

            if (ClientSettings.Default.UI_RememberPassword)
            {
                ClientSettings.Default.UI_EnteredPassword = MachineCrypto.Encode(_cPasswordText.Text);
            }
            else
            {
                ClientSettings.Default.UI_EnteredPassword = string.Empty;
            }

            ClientSettings.Default.Save();
        }
示例#4
0
        /// <summary>
        /// Handles initialization of the GameScreen. This will be invoked after the GameScreen has been
        /// completely and successfully added to the ScreenManager. It is highly recommended that you
        /// use this instead of the constructor. This is invoked only once.
        /// </summary>
        public override void Initialize()
        {
            base.Initialize();

            var decodedPass = MachineCrypto.ValidatedDecode(ClientSettings.Default.UI_EnteredPassword) ?? string.Empty;

            var cScreen = new Panel(GUIManager, Vector2.Zero, ScreenManager.ScreenSize);

            // Create the login fields
            GameScreenHelper.CreateMenuLabel(cScreen, new Vector2(60, 260), "Name:");
            _cNameText = new TextBox(cScreen, new Vector2(220, 260), new Vector2(200, 40))
            {
                IsMultiLine = false, Text = ClientSettings.Default.UI_EnteredUserName
            };
            _cNameText.KeyPressed  += cNameText_KeyPressed;
            _cNameText.TextChanged += cNameText_TextChanged;

            GameScreenHelper.CreateMenuLabel(cScreen, new Vector2(60, 320), "Password:"******"Remember Password",
                Value     = ClientSettings.Default.UI_RememberPassword,
                ForeColor = Color.White,
                Font      = GameScreenHelper.DefaultChatFont
            };
            _cRememberPassword.ValueChanged += _cRememberPassword_ValueChanged;

            // NOTE: Display the admin account info
            const string adminAccountInfo =
                "Use the following account for the default admin account:" + "\n    Username: Spodi" + "\n    Password: qwerty123";

            new Label(cScreen, _cRememberPassword.Position + new Vector2(-32, _cRememberPassword.Size.Y + 32))
            {
                Text = adminAccountInfo, ForeColor = Color.Green, Font = GameScreenHelper.DefaultChatFont
            };

            // Create the menu buttons
            var menuButtons = GameScreenHelper.CreateMenuButtons(ScreenManager, cScreen, "Login", "Back");

            _btnLogin                    = menuButtons["Login"];
            _btnLogin.Clicked           += _btnLogin_Clicked;
            menuButtons["Back"].Clicked += LoginScreen_Clicked;

            cScreen.SetFocus();

            // Set up the networking stuff for this screen
            _sockets = ClientSockets.Instance;
            _sockets.StatusChanged -= _sockets_StatusChanged;
            _sockets.StatusChanged += _sockets_StatusChanged;
            _sockets.PacketHandler.ReceivedLoginSuccessful   += PacketHandler_ReceivedLoginSuccessful;
            _sockets.PacketHandler.ReceivedLoginUnsuccessful += PacketHandler_ReceivedLoginUnsuccessful;
        }
        /// <summary>
        /// Initializes the <see cref="SimpleCryptoProviderTests"/> class.
        /// </summary>
        static SimpleCryptoProviderTests()
        {
            // Add all your ISimpleCryptoProvider implementations to test in here

            _cryptoProviders = new ISimpleCryptoProvider[] { XorCryptoProvider.Create(), MachineCrypto.Create() };
        }