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)); }
public IActionResult ColumnarTranspositionEncrypt([FromBody] ColumnarTranspositionCipherViewModel viewModel) { ColumnarTranspositionCipher cipher = new ColumnarTranspositionCipher(viewModel.Key); string encrypted = ""; try { encrypted = cipher.Encrypt(viewModel.Message); } catch (Exception e) { return(BadRequest(new { Result = false, Message = "Uzupełnij wartość tajnego klucza!" })); } return(Json(encrypted)); }