Ejemplo n.º 1
0
        public IActionResult StatusInfo()
        {
            APIResponseView message = new APIResponseView();

            message.Success = true;
            message.Message = "0: Armed   1: Detonated    2: Primed    -1: Defused    -2: Dud";

            return(Json(message));
        }
Ejemplo n.º 2
0
        public IActionResult TimeBombInfo()
        {
            APIResponseView message = new APIResponseView();

            message.Success = true;
            message.Message = "\"NewTimeBomb\":{	\"MessageId\": 4,	\"MessageCypher\": \"password\",	\"KillMessage\": \"password\",	\"Address\": \"[email protected]\",	\"DetonationTime\": \"2020-02-28\"}";

            return(Json(message));
        }
Ejemplo n.º 3
0
        public IActionResult NewTimeBomb([FromBody] SecretView timebomb)
        {
            APIResponseView results = new APIResponseView();

            if (ModelState.IsValid)
            {
                try
                {
                    TimeBomb newTimeBomb = timebomb.NewTimeBomb;

                    newTimeBomb.CreatedAt = DateTime.Now;
                    newTimeBomb.UpdatedAt = DateTime.Now;

                    string encryptedMessage = EncryptionMethods.encrypt(EncryptionMethods.crocodile(), newTimeBomb.KillMessage, EncryptionMethods.alphabet());

                    newTimeBomb.KillMessage = encryptedMessage;

                    _context.Add(newTimeBomb);
                    _context.SaveChanges();

                    System.Console.WriteLine("Success! Adding timebomb with id " + newTimeBomb.TimeBombId);

                    _context.SaveChanges();

                    results.Success = true;
                    results.Message = "Success! Adding timebomb with id " + newTimeBomb.TimeBombId;
                }
                catch (Exception e)
                {
                    System.Console.WriteLine("Something's f****d!");
                    System.Console.WriteLine(e);
                    results.Success = false;
                    results.Message = "An error occured! " + e;
                }
            }
            else
            {
                results.Success = false;
                string message = "Errant input! Model not valid!";
                results.Message = message;
                System.Console.WriteLine(message);
            }

            return(Json(results));
        }
Ejemplo n.º 4
0
        public JsonResult NewMessageAPI([FromBody] SecretView secretView)
        {
            APIResponseView results = new APIResponseView();

            if (ModelState.IsValid)
            {
                try
                {
                    Message newMessage = secretView.NewMessage;

                    newMessage.CreatedAt = DateTime.Now;
                    newMessage.UpdatedAt = DateTime.Now;

                    string encryptedMessage = EncryptionMethods.encrypt(newMessage.MessageBody, newMessage.Cypher, EncryptionMethods.alphabet());

                    newMessage.MessageBody = encryptedMessage;

                    _context.Add(newMessage);
                    _context.SaveChanges();

                    System.Console.WriteLine("Success! Adding message with id " + newMessage.MessageId);

                    _context.SaveChanges();

                    results.Success = true;
                    results.Message = "Success! Adding message with id " + newMessage.MessageId;
                }
                catch (Exception e)
                {
                    System.Console.WriteLine("Something's broke!");
                    System.Console.WriteLine(e);
                    results.Success = false;
                    results.Message = "An error occured! " + e;
                }
            }
            else
            {
                results.Success = false;
                results.Message = "Errant input! Model not valid!";
                System.Console.WriteLine("Errant input! Model not valid!");
            }

            return(Json(results));
        }
Ejemplo n.º 5
0
        public JsonResult DecryptMessageAPI([FromBody] SecretView secretView)
        {
            APIResponseView results = new APIResponseView();

            try
            {
                // Login user
                int login = _administrator.loginUser(secretView.User);
                if (login == -1)
                {
                    results.Success = false;
                    results.Message = "Errant input! Username or password incorrect!";
                    return(Json(results));
                }
                else
                {
                    // Check to make sure message has not been accessed too many times
                    int id = Int32.Parse(secretView.MessageId);
                    if (_administrator.checkMessageAccesses(id))
                    {
                        System.Console.WriteLine("Decrypting message with id:" + id);
                        Message message = _context.Messages.FirstOrDefault(x => x.MessageId == id);

                        if (message == null)
                        {
                            results.Success = false;
                            results.Message = "Errant input! Message with id " + id + " does not exist!";
                            return(Json(results));
                        }

                        HttpContext.Session.SetString("cypher", secretView.Cypher);
                        string decrypt = EncryptionMethods.decrypt(message.MessageBody, secretView.Cypher, EncryptionMethods.alphabet());
                        // System.Console.WriteLine(decrypt);
                        results.Success = true;
                        results.Message = decrypt;

                        // Add this attempt to access log
                        Access thisAccess = new Access();
                        thisAccess.MessageId = id;
                        thisAccess.UserId    = login;
                        thisAccess.CreatedAt = DateTime.Now;
                        _context.Accesses.Add(thisAccess);
                        _context.SaveChanges();
                    }
                    else
                    {
                        System.Console.WriteLine("Message has been accessed too many times!");
                        results.Success = false;
                        results.Message = "Message has been accessed too many times!";
                    }
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine("Errant input!");
                System.Console.WriteLine(e);
                results.Success = false;
                results.Message = e.ToString();
            }
            return(Json(results));
        }