public static EnvelopeOutputViewModel GenerateEnvelope(this EnvelopeInputViewModel vm) { var inputBytes = Encoding.ASCII.GetBytes(vm.InputText); // new byte[] { }; ISymmetricCryptoAlgorithm symmetric = GetSymmetricAlgorithm(vm.SelectedSymmetricAlgorithmName, vm.SelectedSymmetricAlgorithmKey, vm.SelectedSymmetricAlgorithmMode); IAsymmetricCryptoAlgorithm asymmetric = GetAsymmetricAlgorithm(vm.SelectedAsymmetricAlgorithmName, vm.SelectedAsymmetricAlgorithmKey); var envelope = new DigitalEnvelope(symmetric: symmetric, asymmetric: asymmetric); var _env = envelope.Encrypt(input: inputBytes); var data = envelope.Decrypt(); var model = new EnvelopeOutputViewModel(_env.data, _env.cryptKey, vm.SelectedSymmetricAlgorithmName, vm.SelectedSymmetricAlgorithmKey, vm.SelectedAsymmetricAlgorithmName, vm.SelectedAsymmetricAlgorithmKey, file: Constants.File.Name.ENVELOPE) { InputText = vm.InputText }; return(model); }
public ActionResult Create(EnvelopeInputViewModel vm) { var model = vm.GenerateEnvelope(); return(RedirectToAction("Index", model)); }
// GET: Envelope/Create public ActionResult Create() { var model = new EnvelopeInputViewModel(); return(View(model)); }