Ejemplo n.º 1
0
        public bool IsPasswordExist(string password)
        {
            var selectSqlScript = "select Password from Users";

            var crypt = new CryptService();

            password = crypt.GetHashString(password).ToString();
            var command = factory.CreateCommand();

            command.CommandText = selectSqlScript;
            command.Connection  = connection;

            var dataReader = command.ExecuteReader();

            while (dataReader.Read())
            {
                if (password == dataReader["Password"].ToString())
                {
                    return(true);
                }
            }

            dataReader.Close();
            command.Dispose();

            return(false);
        }
Ejemplo n.º 2
0
        public JObject Login([FromBody] UserModel userModel)
        {
            if (!ModelState.IsValid)
            {
                return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet
                {
                    ResultCode = ResultCode.Error,
                    Message = string.Join("\n", ModelState.Values.Select(x => x.Errors).SelectMany(x => x).Select(x => x.ErrorMessage))
                })));
            }
            MainDBContext mainDBContext = new MainDBContext();
            var           user          = mainDBContext.Users.FirstOrDefault(x => x.Nickname == userModel.Login);

            if (user != null)
            {
                if (CryptService.GetMd5Hash(userModel.Password) == user.PasswordHash)
                {
                    return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet
                    {
                        ResultCode = ResultCode.Success,
                        WorkID = user.ID,
                        IsTestWork = mainDBContext.Statisics.Where(x => x.User == user).Count() > 0
                    })));
                }
            }
            return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet {
                ResultCode = ResultCode.ErrorLoginPassword
            })));
        }
Ejemplo n.º 3
0
        public static void AddCryptServices(this IServiceCollection services)
        {
            CryptService cryptService = new CryptService();

            cryptService.AddCryptorKey(CaptchaService.CryptserviceName);
            services.AddSingleton(cryptService);
        }
Ejemplo n.º 4
0
 public async Task <ActionResult <UserViewModel> > Create(UserViewModel loginViewModel)
 {
     if (ModelState.IsValid)
     {
         if (await db.Users.AnyAsync(x => x.Email == loginViewModel.Login))
         {
             return(BadRequest("Такой пользователь уже существует"));
         }
         logger.LogInformation($"Create user {loginViewModel.Login}:{loginViewModel.Password}");
         var role    = db.Roles.FirstOrDefault(x => x.Name == loginViewModel.Role);
         var lang    = db.Languages.First();
         var newUser = new User
         {
             Id           = 0,
             Email        = loginViewModel.Login,
             Nickname     = loginViewModel.Login,
             Role         = role,
             Language     = lang,
             LanguageId   = lang.Id,
             RoleId       = role.Id,
             PasswordHash = CryptService.CreateHash(loginViewModel.Password)
         };
         db.Add(newUser);
         db.SaveChanges();
         return(Ok());
     }
     return(loginViewModel);
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Saves secret word
        /// </summary>
        /// <param name="password"></param>
        /// <returns></returns>
        public bool SetMasterPassword(string password)
        {
            this.options.MasterPassword = password;
            cryptService = new CryptService(this.options.MasterPassword);

            return(true);
        }
Ejemplo n.º 6
0
        public static void AddCiphers(this IServiceCollection services, IDataBaseFactory dbFactory)
        {
            CryptService cryptService = new CryptService(dbFactory);

            cryptService.AddCipherKey(CaptchaService.CypherName);
            services.AddSingleton <ICryptService>(cryptService);
        }
Ejemplo n.º 7
0
 public AccountsAdapter(Context context, int rowLayout, List <Account> accounts)
 {
     mContext           = context;
     mRowLayout         = rowLayout;
     mAccounts          = accounts;
     mAlternatingColors = new int[] { 0xF2F2F2, 0x6797C5 };
     _cryptService      = new CryptService();
 }
Ejemplo n.º 8
0
        public void WhenIsTestPassword_ShouldCryptPassword()
        {
            //Arrange
            var service = new CryptService();

            //Act
            var result = service.Crypt(Password);

            //Assert
            Assert.Equal(PasswordHash, result);
        }
Ejemplo n.º 9
0
        public void WhenIsTestPassword_ShouldReturnTrue()
        {
            //Arrange
            var service = new CryptService();

            //Act
            var result = service.IsValid(Password, PasswordHash);

            //Assert
            Assert.True(result);
        }
Ejemplo n.º 10
0
        public void WhenIsDifferenctPassword_ShouldReturnFalse()
        {
            //Arrange
            var service = new CryptService();

            //Act
            var result = service.IsValid("", PasswordHash);

            //Assert
            Assert.False(result);
        }
Ejemplo n.º 11
0
        public void DecryptStringUsingRijndael()
        {
            string s = null;

            CryptService crip = new CryptService(CryptProvider.Rijndael);

            crip.Key = key2;

            s = crip.Decrypt("9p4GFRFMviNj2EofPB2hRZcbgrgi3SrJddPsxw2ukcxHx7b3TZUJO6t+0oEVaLOI");

            Assert.AreEqual("Exemplo de criptografia usando Rijndael.", s);
        }
Ejemplo n.º 12
0
        public void DecryptStringUsingDES()
        {
            string s = null;

            CryptService crip = new CryptService(CryptProvider.DES);

            crip.Key = key1;

            s = crip.Decrypt("XY0tce7dmMFhL31KjdPazmyWK6lA8Ueecj3NjzfJ+HRdTci8+n1yGg==");

            Assert.AreEqual("Exemplo de criptografia usando DES.", s);
        }
Ejemplo n.º 13
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            _repository   = new AccountRepository("accounts");
            _cryptService = new CryptService();
            _fileService  = new FileService();
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Activity2);
            mListView  = FindViewById <ListView>(Resource.Id.listView);
            mSearch    = FindViewById <EditText>(Resource.Id.etSearch);
            mContainer = FindViewById <LinearLayout>(Resource.Id.llContainer);

            nameHeader       = FindViewById <TextView>(Resource.Id.txtNameHeader);
            passwordHeader   = FindViewById <TextView>(Resource.Id.txtPasswordHeader);
            createDateHeader = FindViewById <TextView>(Resource.Id.txtCreateDateHeader);

            nameHeader.Click       += NameHeaderOnClick;
            passwordHeader.Click   += PasswordHeaderOnClick;
            createDateHeader.Click += CreateDateHeaderOnClick;

            mSearch.Alpha = 0;
            mContainer.BringToFront();
            mSearch.TextChanged += mSearch_TextChanged;

            mAccounts = new List <Account>();
            //mAccounts.Add(new Account { Name = "Mail", Password = "******", CreateDate = DateTime.Now.AddDays(12) });
            //mAccounts.Add(new Account { Name = "Yandex", Password = "******", CreateDate = DateTime.Now });
            //mAccounts.Add(new Account { Name = "GitHub", Password = "******", CreateDate = DateTime.Now.AddDays(4) });
            //mAccounts.Add(new Account { Name = "Vk.com", Password = "******", CreateDate = DateTime.Now.AddDays(-9) });
            //mAccounts.Add(new Account { Name = "Compane", Password = "******", CreateDate = DateTime.Now.AddDays(-6) });
            //mAccounts.Add(new Account { Name = "NGTU", Password = "******", CreateDate = DateTime.Now.AddDays(7) });
            //mAccounts.Add(new Account { Name = "Пропуск", Password = "******", CreateDate = DateTime.Now });
            //mAccounts.Add(new Account { Name = "Сигнализация", Password = "******", CreateDate = DateTime.Now.AddDays(1) });
            //mAccounts.Add(new Account { Name = "Апаче", Password = "******", CreateDate = DateTime.Now.AddDays(3) });
            //mAccounts.Add(new Account { Name = "Тест", Password = "******", CreateDate = DateTime.Now.AddDays(-12) });

            mAccounts = _repository.GetItems().ToList();
            foreach (var mAccount in mAccounts)
            {
                mAccount.Password = _cryptService.DecryptText(mAccount.Password, "test");
            }


            mAdapter          = new AccountsAdapter(this, Resource.Layout.row_account, mAccounts.OrderBy(a => a.Name).ToList());
            mListView.Adapter = mAdapter;

            mListView.ItemClick += MListViewOnItemClick;


            RegisterForContextMenu(mListView);
        }
Ejemplo n.º 14
0
        public void EncryptStringUsingDES()
        {
            string s = null;

            CryptService crip = new CryptService(CryptProvider.DES);

            crip.Key = key1;

            // Vai gerar a string XY0tce7dmMFhL31KjdPazmyWK6lA8Ueecj3NjzfJ+HRdTci8+n1yGg==
            s = crip.Encrypt("Exemplo de criptografia usando DES.");

            Assert.IsNotNull(s);
        }
Ejemplo n.º 15
0
        public void EncryptStringUsingRijndael()
        {
            string s = null;

            CryptService crip = new CryptService(CryptProvider.Rijndael);

            crip.Key = key2;

            // Vai gerar a string 9p4GFRFMviNj2EofPB2hRZcbgrgi3SrJddPsxw2ukcxHx7b3TZUJO6t+0oEVaLOI
            s = crip.Encrypt("Exemplo de criptografia usando Rijndael.");

            Assert.IsNotNull(s);
        }
        public void Decrypt_Encryption_Equals_PlainText()
        {
            // Arrange
            CryptService cryptService = new CryptService();
            string       plainText    = "text_to_encrypt";

            // Act
            string encryption = cryptService.EncryptString(plainText);
            string decryption = cryptService.DecryptString(encryption);

            //Assert
            Assert.Equal(plainText, decryption);
        }
Ejemplo n.º 17
0
        private void SeedCipherSecrets()
        {
            var names = typeof(CipherSecrets).GetFields().Select(x => (string)x.GetValue(typeof(CipherSecrets)));

            foreach (var name in names)
            {
                dataContainer.CipherSecrets.Add(
                    new CipherSecret
                {
                    Name   = name,
                    Secret = CryptService.GenerateSecurityKeyString()
                });
            }
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Checks if the secret word is correct
        /// </summary>
        /// <param name="password">Secret word</param>
        /// <returns></returns>
        public bool CheckMasterPassword(string password)
        {
            if (transportService == null)
            {
                return(false);
            }

            if (string.IsNullOrEmpty(transportService.PasswordHash))
            {
                return(false);
            }

            return(CryptService.Md5Hash(password) == transportService.PasswordHash);
        }
Ejemplo n.º 19
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            _repository   = new AccountRepository("accounts");
            _cryptService = new CryptService();

            SetContentView(Resource.Layout.CreateAccount);

            nameEditText        = FindViewById <EditText>(Resource.Id.nameEditText);
            passwordText        = FindViewById <EditText>(Resource.Id.passwordEditView);
            passswordRepeatText = FindViewById <EditText>(Resource.Id.passwordRepeatEditView);
            descriptionEditText = FindViewById <EditText>(Resource.Id.descriptionEditText);

            createButton = FindViewById <Button>(Resource.Id.CreateAccountButton);

            createButton.Click += CreateButtonOnClick;
        }
Ejemplo n.º 20
0
        private void button1_Click(object sender, EventArgs e)
        {
            //Пример того, что тебе надо сделать:

            string passwordHash = CryptService.GetMD5Hash("ISuckDicksPassword");

            RegistrationRequest req = new RegistrationRequest()
            {
                FirstName = "Egor",
                LastName = "kalmikov",
                UserName = "******",
                PassworHash = passwordHash, //"dd848732fe4428c201390eb429435ce3"
<<<<<<< Updated upstream
                CreateDate = new DateTime(1999, 8, 23, 4, 14, 22)
            };

            var response = requestService.Registration(req);
            if (response.IsRegistred)
                MessageBox.Show("Registration", "Success");
Ejemplo n.º 21
0
        public async Task <ActionResult <UserViewModel> > Edit(string id, UserViewModel loginViewModel)
        {
            if (id != loginViewModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                var user = await db.Users.FirstOrDefaultAsync(x => x.Id.ToString() == id);

                var role = db.Roles.FirstOrDefault(x => x.Name == loginViewModel.Role);
                user.Email        = loginViewModel.Login;
                user.Role         = role;
                user.PasswordHash = CryptService.CreateHash(loginViewModel.Password);
                db.Update(user);
                db.SaveChanges();
                return(Ok());
            }
            return(loginViewModel);
        }
Ejemplo n.º 22
0
        public IAccountServiceResult Register(RegisterInputModel registerInputModel)
        {
            if (registerInputModel.Password != registerInputModel.PasswordHash)
            {
                return new LoginServiceResult {
                           OperationCode = OperationCode.ConfirmedError
                }
            }
            ;
            DatabaseContext databaseContext = new DatabaseContext();
            var             find            = databaseContext.Users.FirstOrDefault(x => x.Login == registerInputModel.Login);

            if (find != null)
            {
                return new LoginServiceResult {
                           OperationCode = OperationCode.FoundCopy
                }
            }
            ;
            var userNew = new User
            {
                Login        = registerInputModel.Login,
                PasswordHash = CryptService.MD5Hash(registerInputModel.Password),
                UserType     = registerInputModel.UserType,
                Name         = registerInputModel.Name
            };

            databaseContext.Add(userNew);
            databaseContext.SaveChanges();
            return(new LoginServiceResult
            {
                ActualID = userNew.ID,
                Login = userNew.Login,
                OperationCode = OperationCode.Success,
                UserType = userNew.UserType
            });
        }
    }
}
Ejemplo n.º 23
0
        public JObject Register([FromBody] RegisterModel registerModel)
        {
            if (!ModelState.IsValid)
            {
                return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet
                {
                    ResultCode = ResultCode.Error,
                    Message = string.Join("\n", ModelState.Values.Select(x => x.Errors).SelectMany(x => x).Select(x => x.ErrorMessage))
                })));
            }
            if (registerModel.Password != registerModel.PasswordConfirmed)
            {
                return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet {
                    ResultCode = ResultCode.ErrorLoginPassword
                })));
            }
            MainDBContext mainDBContext = new MainDBContext();

            if (mainDBContext.Users.FirstOrDefault(x => x.Nickname == registerModel.Login) != null)
            {
                return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet {
                    ResultCode = ResultCode.ErrorLoginPassword, WorkID = 0
                })));
            }
            var user = new User
            {
                Nickname     = registerModel.Login,
                PasswordHash = CryptService.GetMd5Hash(registerModel.Password),
                Birthday     = registerModel.Birthday,
                Sex          = registerModel.Sex
            };

            mainDBContext.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Added;
            mainDBContext.SaveChanges();
            return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet {
                ResultCode = ResultCode.Success, WorkID = user.ID
            })));
        }
Ejemplo n.º 24
0
        public IAccountServiceResult Login(LoginInputModels loginInputModels)
        {
            DatabaseContext databaseContext = new DatabaseContext();
            var             find            = databaseContext.Users.FirstOrDefault(x => x.Login == loginInputModels.Login &&
                                                                                   x.PasswordHash == CryptService.MD5Hash(loginInputModels.Password));

            if (find == null)
            {
                return new LoginServiceResult {
                           OperationCode = OperationCode.NotFound
                }
            }
            ;
            return(new LoginServiceResult
            {
                OperationCode = OperationCode.Success,
                ActualID = find.ID,
                Login = find.Login,
                UserType = find.UserType
            });
        }
Ejemplo n.º 25
0
        public override void Insert(User user)
        {
            string insertSqlScript = "insert into Users (Login, Password, FullName, Email,PhotoURL) values (@Login, @Password, @FullName, @Email, @PhotoURL)";

            using (var transaction = connection.BeginTransaction())
            {
                using (var command = factory.CreateCommand())
                {
                    command.Connection  = connection;
                    command.CommandText = insertSqlScript;
                    var crypt = new CryptService();

                    try
                    {
                        command.Transaction = transaction;

                        var loginParameter = factory.CreateParameter();
                        loginParameter.DbType        = System.Data.DbType.String;
                        loginParameter.Value         = user.Login;
                        loginParameter.ParameterName = "Login";

                        command.Parameters.Add(loginParameter);

                        var passwordParameter = factory.CreateParameter();
                        passwordParameter.DbType        = System.Data.DbType.Guid;
                        passwordParameter.Value         = crypt.GetHashString(user.Password);
                        passwordParameter.ParameterName = "Password";

                        command.Parameters.Add(passwordParameter);

                        var fullNameParameter = factory.CreateParameter();
                        fullNameParameter.DbType        = System.Data.DbType.String;
                        fullNameParameter.Value         = user.FullName;
                        fullNameParameter.ParameterName = "FullName";

                        command.Parameters.Add(fullNameParameter);

                        var emailParameter = factory.CreateParameter();
                        emailParameter.DbType        = System.Data.DbType.String;
                        emailParameter.Value         = user.Email;
                        emailParameter.ParameterName = "Email";

                        command.Parameters.Add(emailParameter);

                        var photoParameter = factory.CreateParameter();
                        photoParameter.DbType        = System.Data.DbType.String;
                        photoParameter.Value         = user.PhotoURL;
                        photoParameter.ParameterName = "PhotoURL";

                        command.Parameters.Add(photoParameter);

                        command.ExecuteNonQuery();

                        transaction.Commit();
                    }
                    catch (DbException)
                    {
                        transaction.Rollback();
                    }
                }
            }
        }