예제 #1
0
        public ActionResult DecryptedOnly(HttpPostedFileBase upload)
        {
            string extractedText;
            string fileName = GetUniqueFileName(upload.FileName);
            Image  image    = Image.FromStream(upload.InputStream);

            image.Save(Server.MapPath("~/Files/" + fileName));

            string imagePath = Server.MapPath("~/Files/" + fileName);
            Bitmap bmp       = new Bitmap(imagePath);



            var baseLocation    = Server.MapPath("~/Text/");
            var fileNameRes     = GetUniqueFileName("res.txt");
            var fileLocationRes = Path.Combine(baseLocation, fileNameRes);

            try
            {
                extractedText = SteganoHelper.extractText(bmp);

                System.IO.File.AppendAllText(fileLocationRes, extractedText, Encoding.Unicode);
                TempData["FileLocationOnly"] = fileLocationRes;
                return(RedirectToAction("PreviewDecryptOnly"));
            }
            catch
            {
                extractedText = "Wrong password";
                System.IO.File.AppendAllText(fileLocationRes, extractedText, Encoding.Unicode);
                TempData["FileLocationOnly"] = fileLocationRes;
                return(RedirectToAction("PreviewDecryptOnly"));
            }
        }
예제 #2
0
        public ActionResult  Encrypted(HttpPostedFileBase upload1, HttpPostedFileBase upload2, string key, string algoritm)
        {
            var baseLocation = Server.MapPath("~/Files/");

            var fileName1     = GetUniqueFileName(upload1.FileName);
            var fileLocation1 = Path.Combine(baseLocation, fileName1);

            upload1.SaveAs(fileLocation1);

            var fileName2     = GetUniqueFileName(upload2.FileName);
            var fileLocation2 = Path.Combine(baseLocation, fileName2);

            upload2.SaveAs(fileLocation2);


            Image image = Image.FromStream(upload2.InputStream);

            image.Save(fileLocation2);
            string imagePath = fileLocation2;
            Bitmap bmp       = new Bitmap(imagePath);

            StreamReader sr   = new StreamReader(fileLocation1, Encoding.Default);
            string       text = sr.ReadToEnd();

            if (algoritm == "AES")
            {
                text = Crypto.EncryptStringAES(text, key);
            }
            else if (algoritm == "TripleDES")
            {
                text = TripleDes.Encrypt <TripleDESCryptoServiceProvider>(text, key);
            }
            else if (algoritm == "Rijndael")
            {
                text = TripleDes.Encrypt <RijndaelManaged>(text, key);
            }

            Bitmap bmp1 = SteganoHelper.embedText(text, bmp);

            arr = bmp1.ToByteArray(ImageFormat.Png);
            MemoryStream ms          = new MemoryStream(arr);
            Image        imageResult = Image.FromStream(ms);

            var fileNameRes     = "res.png";
            var fileLocationRes = Path.Combine(baseLocation, fileNameRes);

            imageResult.Save(fileLocationRes);

            TempData["ImageLocation"] = fileNameRes;
            return(RedirectToAction("Preview"));
        }
예제 #3
0
        public ActionResult Decrypted(HttpPostedFileBase upload, string key, string algoritm)
        {
            string fileName = GetUniqueFileName(upload.FileName);
            Image  image    = Image.FromStream(upload.InputStream);

            image.Save(Server.MapPath("~/Files/" + fileName));

            string imagePath     = Server.MapPath("~/Files/" + fileName);
            Bitmap bmp           = new Bitmap(imagePath);
            string extractedText = SteganoHelper.extractText(bmp);


            var baseLocation    = Server.MapPath("~/Text/");
            var fileNameRes     = GetUniqueFileName("res.txt");
            var fileLocationRes = Path.Combine(baseLocation, fileNameRes);

            try
            {
                if (algoritm == "AES")
                {
                    extractedText = Crypto.DecryptStringAES(extractedText, key) + Environment.NewLine;
                }
                else if (algoritm == "TripleDES")
                {
                    extractedText = TripleDes.Decrypt <TripleDESCryptoServiceProvider>(extractedText, key) + Environment.NewLine;
                }
                else if (algoritm == "Rijndael")
                {
                    extractedText = TripleDes.Decrypt <RijndaelManaged>(extractedText, key) + Environment.NewLine;
                }

                System.IO.File.AppendAllText(fileLocationRes, extractedText, Encoding.Default);
                TempData["FileLocation"] = fileLocationRes;
                return(RedirectToAction("PreviewDecrypt"));
            }
            catch
            {
                extractedText = "Wrong password";
                System.IO.File.AppendAllText(fileLocationRes, extractedText, Encoding.Default);
                TempData["FileLocation"] = fileLocationRes;
                return(RedirectToAction("PreviewDecrypt"));
            }
        }
예제 #4
0
        public ActionResult EncryptedOnly(HttpPostedFileBase upload1, HttpPostedFileBase upload2)
        {
            var baseLocation = Server.MapPath("~/Files/");

            var fileName1     = GetUniqueFileName(upload1.FileName);
            var fileLocation1 = Path.Combine(baseLocation, fileName1);

            upload1.SaveAs(fileLocation1);

            var fileName2     = GetUniqueFileName(upload2.FileName);
            var fileLocation2 = Path.Combine(baseLocation, fileName2);

            upload2.SaveAs(fileLocation2);


            Image image = Image.FromStream(upload2.InputStream);

            image.Save(fileLocation2);
            string imagePath = fileLocation2;
            Bitmap bmp       = new Bitmap(imagePath);

            StreamReader sr   = new StreamReader(fileLocation1, Encoding.Unicode);
            string       text = sr.ReadToEnd();

            Bitmap bmp1 = SteganoHelper.embedText(text, bmp);

            arr = bmp1.ToByteArray(ImageFormat.Png);
            MemoryStream ms          = new MemoryStream(arr);
            Image        imageResult = Image.FromStream(ms);

            var fileNameRes     = "res.png";
            var fileLocationRes = Path.Combine(baseLocation, fileNameRes);

            imageResult.Save(fileLocationRes);

            TempData["ImageLocationOnly"] = fileNameRes;
            return(RedirectToAction("PreviewOnly"));
        }