コード例 #1
0
        public IActionResult ColumnarTranspositionVisualization([FromBody] ColumnarTranspositionCipherViewModel viewModel)
        {
            ColumnarTranspositionCipher cipher = new ColumnarTranspositionCipher(viewModel.Key);

            string encrypted = "";
            string sortedKey;

            int[]  columnNumbers;
            string key;

            string[] results = new string[5] {
                "sortedKey", "columnNumbers", "output", "input", "key"
            };

            string input = viewModel.Message;

            input      = StringHelper.ReplaceWhitespace(input, "");
            input      = input.ToUpper();
            results[3] = input;
            try
            {
                encrypted     = cipher.Encrypt(viewModel.Message);
                results[2]    = encrypted;
                key           = cipher.Key;
                key           = StringHelper.ReplaceWhitespace(key, "");
                key           = key.ToUpper();
                results[4]    = key;
                sortedKey     = new String(cipher._sortedKey);
                results[0]    = sortedKey;
                columnNumbers = cipher._columnNumbers;
                StringBuilder sb = new StringBuilder();

                for (int i = 0; i < columnNumbers.Length - 1; i++)
                {
                    sb.Append(columnNumbers[i] + ",");
                }
                sb.Append(columnNumbers[columnNumbers.Length - 1]);
                results[1] = sb.ToString();
            }
            catch (Exception e)
            {
                return(BadRequest(new { Result = false, Message = "Uzupełnij wartość tajnego klucza!" }));
            }

            return(Json(results));
        }
コード例 #2
0
        public IActionResult ColumnarTranspositionDecrypt([FromBody] ColumnarTranspositionCipherViewModel viewModel)
        {
            ColumnarTranspositionCipher cipher = new ColumnarTranspositionCipher(viewModel.Key);

            string decrypted = "";

            try
            {
                decrypted = cipher.Decrypt(viewModel.Message);
            }
            catch (Exception e)
            {
                return(BadRequest(new { Result = false, Message = "Uzupełnij wartość tajnego klucza!" }));
            }

            return(Json(decrypted));
        }