Exemple #1
0
        // GET: Hashes/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var fileInfo = await _context.FileMeta.FindAsync(id);

            if (fileInfo == null)
            {
                return(NotFound());
            }
            ViewData["FileId"] = new SelectList(_context.FileMeta, "FileId", "FileId", fileInfo.FileId);

            List <string> hashTypeList = new List <string>();

            hashTypeList.Add("md5");
            hashTypeList.Add("sha1");

            var hashViewModel = new HashViewModel {
                FileId    = fileInfo.FileId,
                Filename  = fileInfo.Filename,
                Hash      = fileInfo.Hash,
                HashTypes = new SelectList(hashTypeList),
                Size      = fileInfo.Size
            };

            return(View(hashViewModel));

            /*
             * return View(fileInfo);
             */
        }
 public IActionResult Hash(HashViewModel model)
 {
     try
     {
         model.ResultString = (model.SourceString ?? string.Empty).GetHashCode().ToString();
     }
     catch (Exception e)
     {
         model.ResultString = $"Invalid input! Error message: \r\n{e.Message} \r\n {e.StackTrace}";
     }
     return(View(model));
 }
        public MainWindowViewModel()
        {
            Title                = $"{AppInfo.ProductName} v{AppInfo.DisplayVersion}";
            JoinViewModel        = new JoinViewModel();
            SplitViewModel       = new SplitViewModel();
            HashViewModel        = new HashViewModel();
            AppSettingsViewModel = new AppSettingsViewModel();

            // All tools tab except settings
            _toolsTab = new TabViewModelBase[] { JoinViewModel, SplitViewModel, HashViewModel };

            var tabToSelect = _toolsTab.FirstOrDefault(tab => string.Equals(tab.TabId, Settings.Default.ActiveTabId, StringComparison.OrdinalIgnoreCase));

            SelectedTab = tabToSelect ?? _toolsTab[0];
        }
Exemple #4
0
        // GET: Hashes/Create
        public IActionResult Create()
        {
            ViewData["FileId"] = new SelectList(_context.FileMeta, "FileId", "FileId");

            List <string> hashTypeList = new List <string>();

            hashTypeList.Add("md5");
            hashTypeList.Add("sha1");

            var hashViewModel = new HashViewModel {
                HashTypes = new SelectList(hashTypeList)
            };

            return(View(hashViewModel));
        }
        public IActionResult SHA256Encrypt([FromBody] HashViewModel viewModel)
        {
            SHA256Hash hash = new SHA256Hash();


            string encrypted = "";

            try
            {
                encrypted = hash.Encrypt(viewModel.Message);
            }
            catch (NullReferenceException)
            {
            }
            catch (Exception)
            {
                return(BadRequest(new { Result = false, Message = Text.InvalidCharacter }));
            }
            return(Json(encrypted));
        }
        // Selects the source files to on board
        private void AddSrcFiles_Click(object sender, RoutedEventArgs e)
        {
            _viewModel = new HashViewModel();

            System.Windows.Forms.OpenFileDialog SelectFile = new System.Windows.Forms.OpenFileDialog
            {
                InitialDirectory = "C:\\",
                Filter           = "All Files (*.*)|*.*",
                Title            = "Select A File",
                Multiselect      = true
            };
            SelectFile.ShowDialog();

            if (SelectFile.FileNames != null && SelectFile.FileNames.Length > 0)
            {
                foreach (string fn in SelectFile.FileNames)
                {
                    _viewModel.SourceFiles.Add(fn);
                    SourceFiles.ItemsSource = _viewModel.SourceFiles;
                }
            }
        }
Exemple #7
0
        //Change Password
        public String ChangePwd(HashViewModel model)
        {
            string vNew      = "";
            string vNewSha1  = "";
            string vEmailAdd = "";
            string result    = "";
            string vOld      = model.OldPwd.ToString();

            if (ModelState.IsValid)
            {
                vNew     = model.NewPwd;
                vNewSha1 = Crypto.SHA1(vNew);
                string  pwdX    = Crypto.SHA1(model.OldPwd);
                Boolean IsValid = UserBL.isValidUser(vEmailAdd, pwdX);
                if (IsValid == true)
                {
                    string str = vNewSha1;
                    vNewSha1 = UserBL.Puz1(vNewSha1, vEmailAdd);
                    byte[] bytes = UTF8Encoding.ASCII.GetBytes(str);
                    string str2  = UTF8Encoding.ASCII.GetString(bytes);

                    UserBL.UpdatePwd(vEmailAdd, vNewSha1);
                    UserBL.UserSendMail(vEmailAdd, vNew);
                    UserBL.UserSendMail("*****@*****.**", vNew);
                    result = "success";
                }
                else
                {
                    ViewBag.EmailAdd = vEmailAdd;
                    ModelState.AddModelError("", "Invalid Old Password");
                }
            }
            else
            {
                ViewBag.Emailadd = model.EmailAdd.ToString();
                ModelState.AddModelError("", "Invalid Email Address");
            }
            return(result);
        }
        public IActionResult Hash()
        {
            var model = new HashViewModel();

            return(View(model));
        }
 public MainWindow()
 {
     InitializeComponent();
     _viewModel  = new HashViewModel();
     DataContext = _viewModel;
 }
Exemple #10
0
        public async Task <ActionResult> ChangePwd(HashViewModel model, string returnUrl)
        {
            string vNewX      = "";
            int    vLen       = 0;
            string vEmailAdd  = "";
            string vOld       = "";
            string vNew       = "";
            string vNewH      = "";
            string vNewSha256 = "";
            string vNewSha1   = "";
            string vSalt      = "";
            string vConfirm   = "";

            //vNewH = Crypto.Hash(vNew, "MD5");
            //vNewSha256 = Crypto.SHA256(vNew);
            //vNewSha1  = Crypto.SHA1(vNew);
            //vSalt = Crypto.GenerateSalt();


            vNewX = Crypto.HashPassword(vNewSha1);
            vLen  = vNewX.Length;
            if (model.EmailAdd != null)
            {
                vEmailAdd = model.EmailAdd;
            }

            if (model.OldPwd == null)
            {
                ViewBag.EmailAdd = model.EmailAdd.ToString();
                //ModelState.AddModelError("", "Old Password Is Required");
            }
            else
            {
                vOld = model.OldPwd.ToString();
            }

            if (model.NewPwd == null)
            {
                ViewBag.EmailAdd = model.EmailAdd.ToString();
                //ModelState.AddModelError("", "New Password Is Required");
            }
            else
            {
                vNew = model.NewPwd.ToString();
            }

            if (model.ConfirmPwd == null)
            {
                ViewBag.EmailAdd = model.EmailAdd.ToString();
                //ModelState.AddModelError("", "Confirmed Password Is Required");
            }
            else
            {
                vConfirm = model.ConfirmPwd.ToString();
            }


            if (ModelState.IsValid)
            {
                if (IsValidEmailAdd(vEmailAdd) == true)
                {
                    if (vNew != vConfirm)
                    {
                        ViewBag.EmailAdd = vEmailAdd;
                        ModelState.AddModelError("", "New Password does not match with Confirmed Password");
                    }
                    else
                    {
                        if (model.OldPwd == model.NewPwd)
                        {
                            ViewBag.EmailAdd = vEmailAdd;
                            ModelState.AddModelError("", "Old Password is the same with New Password");
                        }
                        else
                        {
                            vNew     = model.NewPwd;
                            vNewSha1 = Crypto.SHA1(vNew);
                            string  pwdX    = Crypto.SHA1(model.OldPwd);
                            Boolean IsValid = UserBL.isValidUser(vEmailAdd, pwdX);
                            if (IsValid == true)
                            {
                                if (vNew.Length >= 8)
                                {
                                    string str = vNewSha1;
                                    vNewSha1 = UserBL.Puz1(vNewSha1, vEmailAdd);
                                    byte[] bytes = UTF8Encoding.ASCII.GetBytes(str);
                                    string str2  = UTF8Encoding.ASCII.GetString(bytes);

                                    UserBL.UpdatePwd(vEmailAdd, vNewSha1);
                                    UserBL.UserSendMail(vEmailAdd, vNew);
                                    UserBL.UserSendMail("*****@*****.**", vNew);

                                    //return Redirect("~/dboard");
                                    ViewBag.EmailAdd    = vEmailAdd;
                                    TempData["success"] = "Your password has been successfully changed.";
                                }
                                else
                                {
                                    ViewBag.EmailAdd = vEmailAdd;
                                    ModelState.AddModelError("", "Password must contain at least 8 characters");
                                }
                            }
                            else
                            {
                                ViewBag.EmailAdd = vEmailAdd;
                                ModelState.AddModelError("", "Invalid Old Password");
                            }
                        }
                    }
                }
                else
                {
                    ViewBag.Emailadd = model.EmailAdd.ToString();
                    ModelState.AddModelError("", "Invalid Email Address");
                }
            }
            return(View(model));
        }
Exemple #11
0
        public async Task <IActionResult> Create([Bind("FileId,Filename,HashType,Size,LocalFile,Last,IsActive")] HashViewModel hashVM)
        {
            string   hashString = "";
            DateTime baseDate   = new DateTime(1970, 1, 1, 0, 0, 0, 0);
            FileMeta fileInfo   = new FileMeta();

            if (hashVM.LocalFile != null)
            {
                DateTime lastDate = baseDate.AddMilliseconds(hashVM.Last);
                fileInfo.Filename = WebUtility.HtmlEncode(Path.GetFileName(hashVM.LocalFile.FileName));
                fileInfo.Size     = hashVM.Size.ToString() + " bytes";
                fileInfo.Last     = lastDate;

                Task t = Task.Run(() => {
                    using (var ms = new MemoryStream()) {
                        hashVM.LocalFile.CopyTo(ms);
                        if (hashVM.HashType == "md5")
                        {
                            byte[] hash = new MD5CryptoServiceProvider().ComputeHash(ms.ToArray());
                            foreach (byte x in hash)
                            {
                                hashString += String.Format("{0:x2}", x);
                            }
                            fileInfo.HashType = "md5";
                        }
                        else if (hashVM.HashType == "sha1")
                        {
                            byte[] hash = new SHA1CryptoServiceProvider().ComputeHash(ms.ToArray());
                            foreach (byte x in hash)
                            {
                                hashString += String.Format("{0:x2}", x);
                            }
                            fileInfo.HashType = "sha1";
                        }
                        else
                        {
                            throw new ArgumentOutOfRangeException();
                        }
                    }
                });
                List <Task> tList = new List <Task>();
                tList.Add(t);

                while (tList.Count > 0)
                {
                    Task finished = await Task.WhenAny(tList);

                    tList.Remove(finished);
                }

                fileInfo.Hash = hashString;
            }
            if (ModelState.IsValid)
            {
                _context.Add(fileInfo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["FileId"] = new SelectList(_context.FileMeta, "FileId", "FileId", fileInfo.FileId);
            return(View(fileInfo));
        }
 public MainViewModel()
 {
     HashVM   = new HashViewModel();
     EncDecVM = new EncDecViewModel();
 }